Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

4.6 iOS 64-bit beta

Discussion in 'iOS and tvOS' started by jonas-echterhoff, Jan 12, 2015.

  1. Favo-Yang

    Favo-Yang

    Joined:
    Apr 4, 2011
    Posts:
    464
    Just tried 4.6.7p1 and still have this problem. But seems not everyone have the problem?

     
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @Blundig

    This issue actually has been corrected internally already (due to a different bug report). The fix will be in the 5.1 series in 5.1.2p1, which is scheduled to be released on July 22. In the meantime, it is possible to work around the problem by modifying the C++ code directly. You can change the generated code:

    il2cpp_codegen_raise_exception(((Object_t *)L_2));

    to:

    il2cpp_codegen_raise_exception(((Il2CppCodeGenException *)L_2));

    I realize that this might not be feasible if this error is showing up in a large number of places in the generated C++ code. Note that it is also possible to test locally with the Mono scripting backend (of course you can't submit the app via iTunes though).
     
  3. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @Favo Yang

    I don't see any progress on the original bug you submitted on this issue, so I'll ping our iOS team again to have a look at it. I've not seen any other reports of this, so it might be specific to your situation in some way.
     
  4. tatata

    tatata

    Joined:
    Jul 11, 2013
    Posts:
    12
    Hello,

    I'm investigating crashes reported by users of our game.
    I still not been able to reproduce it.

    Those crashes have been reported after we updated the game from Mono version to IL2CPP version, and reported by only ios user.
    I think it might be by an IL2CPP bug.

    To investigate, would it be possible to ask detail of the follwing bug fix? if possible...

    (695319) - iOS/IL2CPP: Prevent an intermittent crash on ARM64 when an live object is incorrectly reclaimed but the garbage collector.
    (from release notes of Patch 4.6.7p1)
     
  5. TactAim

    TactAim

    Joined:
    Jul 14, 2015
    Posts:
    6
    Hello, I'm encountering the same errors that Sebrofjr and the others did with Mach-O Linker errors in Xcode. Ever since upgrading my iOS project to Unity 4.6.6f2 to build with IL2CPP for 64bit, I've tried building using IL2CPP with Universal architecture, then with only armv7 and arm64 selected but every time it never seems to include the proper files for the Linker in Xcode. I even tried Mono but it gets the same error.

    IL2CPP with Universal architecture: Undefined symbols for armv7
    IL2CPP with armv7 architecture: Undefined symbols for armv7
    IL2CPP with arm64 architecture: Undefined symbols for arm64
    Mono (armv7 only): Undefined symbols for armv7

    Every time I build it to a new Xcode Project folder so existing files shouldn't have been a problem. Should I have upgraded my Unity project instead to a Unity version in which Linker doesn't get errors like this? I mostly needed the upgrade to include 64bit architecture (Universal architecture) since the project doesn't have it on older Unity 4.x version. I tried Unity 4.6.5f1 as well since others reported the 'Undefined symbols' Linker errors here starting from Unity 4.6.6f2, but I still get it with Unity 4.6.5 (even if it seems to include a lot more files into the Xcode Project than 4.6.6 does). Or should I try re-upgrading the project from my older Unity 4.x version again, while minding some changes I need to apply (if any) to build with IL2CPP?
     
  6. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @tatata

    Sure, case 695319 occurred because we were getting the field layout wrong for the C++ compile on ARM64 devices. This problem could occur if you had a generic base class in C# (call it A), then a non-generic derived class with no fields (derived from class A, call this one B), then another generic derived class (derived from class B, call this one C). Because of the problem with the field layout, we built the GC descriptor for class C incorrectly, and the GC thought some of the fields in class C did not have pointers to other objects when they in fact did. This could cause fields of class C to be incorrectly reclaimed by the GC, leading to seemingly random crashes, depending on when that memory was re-used.

    If you have the ability to get a call stack from these crashes, please pass it along to us (either here, via a private conversation, or via a bug report). That should help us track down the cause of the problem.
     
  7. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @TactAim

    I don't have any update about the bug in question here, case 708506. I've pinged our iOS team about it, and they will take a look today. It does seem that this issue is not specific to IL2CPP, but a more general iOS problem.

    Note that in general, you should not need to make any (or many) changes to build with IL2CPP. The biggest difference between the IL2CPP and Mono scripting backends for most projects is that IL2CPP always has stripping enabled. So you may need to include a link.xml file in order to prevent the stripping code from removing things that are accessed via reflection. However, I would only worry about that if it becomes an issue.

    In this case, it might be worthwhile to try an empty project to see if the same linker errors occur. I suspect that they do not, but that they are specific to something in your project that we need to handle. I'll update here if/when I hear anything about the bug report, in case there is a work around or a fix available.
     
  8. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @TactAim

    It looks like this bug has been corrected now, and the fix should land in the 4.6.7p3 release (scheduled for July 31). It seems that the bug is related to the way that the U3DXT plugin modifies the Xcode project file. Are you using that plugin in your project?
     
  9. TactAim

    TactAim

    Joined:
    Jul 14, 2015
    Posts:
    6
    Thank you, I'll be waiting for updates on that bug report for the iOS issue along with the others here.

    I see, other than your suggestion regarding stripping I'll also try disabling stripping when building my iOS project. I'll also try building an empty iOS project to see if the same linker errors occur with my Unity, I'll update here whatever results I get then.
     
  10. tatata

    tatata

    Joined:
    Jul 11, 2013
    Posts:
    12
    Thank you.
    I'll be looking for that case in our source codes.

    > If you have the ability to get a call stack from these crashes, please pass it along to us (either here, via a private conversation, or via a bug report). That should help us track down the cause of the problem.

    The crash probrem was reported in support form of our game, so I don't have call stacks or etc...
     
  11. TactAim

    TactAim

    Joined:
    Jul 14, 2015
    Posts:
    6
    Just an update, I've tried disabling stripping for my iOS project's build in Unity but it still encountered the same 'Undefined symbols for armv7' linker errors. On the other hand, trying to build an Empty iOS Project worked; I chose IL2CPP and Universal architecture as well as the Stripping set to its enabled default value, and on Xcode that empty iOS project built successfully on my test device.

    I'll check my iOS project's code again to see if there's anything I missed that may also be contributing to the IL2CPP build errors. I think some Unity plugins (from upgrading my project from older 4.x Unity) may be contributing to it but other than that, what else can I check in my code that may be causing these Linker errors?
     
  12. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @TactAim

    I believe that this problem is specifically related to the way the U3DXT plugin modifies the Xcode project file. Are you using that plugin in your project where the build fails?
     
  13. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,083
  14. rb.unity3d

    rb.unity3d

    Unity Technologies

    Joined:
    May 7, 2015
    Posts:
    4
    @tonemcbride
    I investigated the bug last week. It appears to be a problem in the ARM64 rendering backend, and is way outside my comfort zone for fixing. I assigned it to the iOS team, but unfortunately they already have quite a lot to do, and since this bug should be relatively easy to work around, my guess is that it'll take them a while to get to it.
     
  15. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,083
    Thanks for looking into it, normally it would be an easy workaround like you said but I've got quite a complicated tilemap set up so each submesh links to a specific layer - I also merge meshes which is a bit trickier when the submeshes don't match up. I'll need to pass some info around with which submeshes are valid.
     
  16. dhandley

    dhandley

    Joined:
    Jun 23, 2014
    Posts:
    3
    I’m getting a compile error after upgrading to 4.6.7f1 which seems to be due to IL2CPP creating incorrect code, possibly related to this fix, but I'm really not sure:

    (694436) - iOS/IL2CPP: Fixed IL2CPP generated marshaling code for marshaling IntPtr into any other primitive type.

    The error is:
    Bulk_Assembly-CSharp-firstpass_0.cpp:36770:105: error: no viable conversion from 'IntPtr_t' to 'intptr_t' (aka 'long')
    intptr_t _return_value = _il2cpp_pinvoke_func(reinterpret_cast<intptr_t>((___pMovieDef).___m_value_0), ___size);

    The generated C++ code:
    Code (CSharp):
    1.  
    2. // System.IntPtr Scaleform.MovieDef::SF_GetFileURL(System.IntPtr,System.IntPtr)
    3. extern "C" {intptr_t DEFAULT_CALL SF_GetFileURL(intptr_t, intptr_t);}
    4. extern "C" IntPtr_t MovieDef_SF_GetFileURL_m774 (Object_t * __this /* static, unused */, IntPtr_t ___pMovieDef, IntPtr_t ___size, const MethodInfo* method)
    5. {
    6.     typedef intptr_t (DEFAULT_CALL *PInvokeFunc) (intptr_t, intptr_t);
    7.     static PInvokeFunc _il2cpp_pinvoke_func;
    8.     if (!_il2cpp_pinvoke_func)
    9.     {
    10.         _il2cpp_pinvoke_func = (PInvokeFunc)SF_GetFileURL;
    11.  
    12.         if (_il2cpp_pinvoke_func == NULL)
    13.         {
    14.             il2cpp_codegen_raise_exception(il2cpp_codegen_get_not_supported_exception("Unable to find method for p/invoke: 'SF_GetFileURL'"));
    15.         }
    16.     }
    17.  
    18.     // Marshaling of parameter '___pMovieDef' to native representation
    19.     // Marshaling of parameter '___size' to native representation
    20.     // Native function invocation and marshaling of return value back from native representation
    21.     intptr_t _return_value = _il2cpp_pinvoke_func(reinterpret_cast<intptr_t>((___pMovieDef).___m_value_0), ___size);
    22.     IntPtr_t __return_value_unmarshaled;
    23.     (__return_value_unmarshaled).___m_value_0 = reinterpret_cast<void*>(_return_value);
    24.  
    25.     // Marshaling cleanup of parameter '___pMovieDef' native representation
    26.  
    27.     return __return_value_unmarshaled;
    28. }
    29.  
    This is how the function is exposed in C#:
    Code (CSharp):
    1.     [DllImport("libgfxunity3d")]
    2.     [return: MarshalAs(UnmanagedType.LPStr)]
    3.     protected static extern IntPtr SF_GetFileURL(IntPtr pMovieDef, [Out] IntPtr size);
    4.  
    The error doesn’t occur with Unity 4.6.6f1 or 4.6.5f1. The code is part of Scaleform, which has been upgraded to support 64 bit.

    Does this look like an IL2CPP bug? If so, is there a workaround I could apply in either C# or C++ until a proper fix is made? It's the only error in 450+ files, so I don't mind patching it each time.
    Let me know if you require more info.
     
  17. Antony-Blackett

    Antony-Blackett

    Joined:
    Feb 15, 2011
    Posts:
    1,778
    Hey guys, I seems to be having an iOS IL2CPP build issue. I don't understand the error so I can't fix the problem. If this has already been mentioned then I'm sorry..

    IL2CPP error for type 'UnityEngine.UI.Toggle' in assembly '/Volumes/Storage/RocketJump/Projects/Ski/SkiUnity/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll'

    Any help would be really appreciated. Note: that Mono builds to iOS and runs fine. Also IL2CPP worked back on Unity 5.1.1p1, it stopped when I upgraded to 5.1.1p4 and is still broken on 5.1.2

    Update: Rolled back to Unity 5.1.1p2 and I can build. So my issue is either a problem introduced in p3 or p4.

    Full compiler error log:
    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:66)
    UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:402)
    UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:293)
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:211)
    UnityEditor.HostView:OnGUI()Failed running /Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/build/il2cpp.exe --copy-level=None --emit-null-checks --enable-array-bounds-check --extra-types.file="/Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/il2cpp_default_extra_types.txt" --assembly="/Volumes/Storage/RocketJump/Projects/Ski/SkiUnity/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll" --assembly="/Volumes/Storage/RocketJump/Projects/Ski/SkiUnity/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --assembly="/Volumes/Storage/RocketJump/Projects/Ski/SkiUnity/Temp/StagingArea/Data/Managed/UnityEngine.dll" --generatedcppdir="/Volumes/Storage/RocketJump/Projects/Ski/SkiUnity/Temp/il2cppOutput/il2cppOutput" --builder=none

    stdout:
    IL2CPP error for type 'UnityEngine.UI.Toggle' in assembly '/Volumes/Storage/RocketJump/Projects/Ski/SkiUnity/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll'
    Additional information: Build a development build for more information. Attempting to constrain a value of type 'System.Object' to type 'UIMenu'.
    il2cpp.exe didn't catch exception: System.Exception: Attempting to constrain a value of type 'System.Object' to type 'UIMenu'.
    at Unity.IL2CPP.MethodBodyWriter.ArgsFor (Mono.Cecil.MethodReference method, Mono.Cecil.MethodReference unresolvedMethod, MethodCallType callType, System.Collections.Generic.Stack`1 valueStack, Unity.IL2CPP.ILPreProcessor.TypeResolver typeResolver, IRuntimeMetadataAccess runtimeMetadata, SharingType sharingType, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Boolean isConstructor, Mono.Cecil.TypeReference constrainedType) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.CallMethod (Mono.Cecil.MethodReference callingMethod, Mono.Cecil.MethodReference methodToCall, MethodCallType callType, Mono.Cecil.Cil.Instruction instruction, Mono.Cecil.TypeReference constrainedType) [0x00000] in <filename unknown>:0
    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
    at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method, Unity.IL2CPP.CppCodeWriter methodBodyWriter, IRuntimeMetadataAccess metadataAccess) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter+<WriteMethodDefinition>c__AnonStorey0.<>m__0 (Unity.IL2CPP.CppCodeWriter bodyWriter, Unity.IL2CPP.MetadataUsage metadataUsage, Unity.IL2CPP.MethodUsage methodUsage) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization (Unity.IL2CPP.CppCodeWriter writer, System.String methodSignature, System.Action`3 writeMethodBody) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodDefinition (Mono.Cecil.MethodReference method, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenericMethodDefinition (Unity.IL2CPP.CppCodeWriter writer, Mono.Cecil.GenericInstanceMethod method, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenericMethods (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection, IEnumerable`1 allTypeDefinitions, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 allTypeDefinitions) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, NiceIO.NPath outputDir, System.Collections.Generic.List`1 additionalCpp) [0x00000] in <filename unknown>:0
    stderr:

    Unhandled Exception:
    System.Exception: Attempting to constrain a value of type 'System.Object' to type 'UIMenu'.
    at Unity.IL2CPP.MethodBodyWriter.ArgsFor (Mono.Cecil.MethodReference method, Mono.Cecil.MethodReference unresolvedMethod, MethodCallType callType, System.Collections.Generic.Stack`1 valueStack, Unity.IL2CPP.ILPreProcessor.TypeResolver typeResolver, IRuntimeMetadataAccess runtimeMetadata, SharingType sharingType, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Boolean isConstructor, Mono.Cecil.TypeReference constrainedType) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.CallMethod (Mono.Cecil.MethodReference callingMethod, Mono.Cecil.MethodReference methodToCall, MethodCallType callType, Mono.Cecil.Cil.Instruction instruction, Mono.Cecil.TypeReference constrainedType) [0x00000] in <filename unknown>:0
    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
    at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method, Unity.IL2CPP.CppCodeWriter methodBodyWriter, IRuntimeMetadataAccess metadataAccess) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter+<WriteMethodDefinition>c__AnonStorey0.<>m__0 (Unity.IL2CPP.CppCodeWriter bodyWriter, Unity.IL2CPP.MetadataUsage metadataUsage, Unity.IL2CPP.MethodUsage methodUsage) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization (Unity.IL2CPP.CppCodeWriter writer, System.String methodSignature, System.Action`3 writeMethodBody) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodDefinition (Mono.Cecil.MethodReference method, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenericMethodDefinition (Unity.IL2CPP.CppCodeWriter writer, Mono.Cecil.GenericInstanceMethod method, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenericMethods (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection, IEnumerable`1 allTypeDefinitions, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 allTypeDefinitions) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, NiceIO.NPath outputDir, System.Collections.Generic.List`1 additionalCpp) [0x00000] in <filename unknown>:0
    [ERROR] FATAL UNHANDLED EXCEPTION: System.Exception: Attempting to constrain a value of type 'System.Object' to type 'UIMenu'.
    at Unity.IL2CPP.MethodBodyWriter.ArgsFor (Mono.Cecil.MethodReference method, Mono.Cecil.MethodReference unresolvedMethod, MethodCallType callType, System.Collections.Generic.Stack`1 valueStack, Unity.IL2CPP.ILPreProcessor.TypeResolver typeResolver, IRuntimeMetadataAccess runtimeMetadata, SharingType sharingType, Unity.IL2CPP.Metadata.VTableBuilder vTableBuilder, Boolean isConstructor, Mono.Cecil.TypeReference constrainedType) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.CallMethod (Mono.Cecil.MethodReference callingMethod, Mono.Cecil.MethodReference methodToCall, MethodCallType callType, Mono.Cecil.Cil.Instruction instruction, Mono.Cecil.TypeReference constrainedType) [0x00000] in <filename unknown>:0
    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
    at Unity.IL2CPP.MethodBodyWriter.GenerateCodeRecursive (Unity.IL2CPP.Node node) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.Generate () [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodBody (Mono.Cecil.MethodReference method, Unity.IL2CPP.CppCodeWriter methodBodyWriter, IRuntimeMetadataAccess metadataAccess) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter+<WriteMethodDefinition>c__AnonStorey0.<>m__0 (Unity.IL2CPP.CppCodeWriter bodyWriter, Unity.IL2CPP.MetadataUsage metadataUsage, Unity.IL2CPP.MethodUsage methodUsage) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodWithMetadataInitialization (Unity.IL2CPP.CppCodeWriter writer, System.String methodSignature, System.Action`3 writeMethodBody) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodDefinition (Mono.Cecil.MethodReference method, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenericMethodDefinition (Unity.IL2CPP.CppCodeWriter writer, Mono.Cecil.GenericInstanceMethod method, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenericMethods (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection, IEnumerable`1 allTypeDefinitions, Unity.IL2CPP.MethodCollector methodCollector) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, IEnumerable`1 allTypeDefinitions) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, NiceIO.NPath outputDir, System.Collections.Generic.List`1 additionalCpp) [0x00000] in <filename unknown>:0
     
    Last edited: Jul 18, 2015
  18. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @dhandley

    This looks like a bug in il2cpp.exe. Can you submit a bug report and mention the bug report number here? We will correct this issue then.
     
  19. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @Antony Blackett

    Thanks for reporting this. Based on the call stack here, I believe that this is a known bug, which we have corrected in 5.1.2p1. That version is scheduled to be out on July 22, so please give it a try when it is released.
     
    Antony-Blackett likes this.
  20. dhandley

    dhandley

    Joined:
    Jun 23, 2014
    Posts:
    3
    I submitted a bug, the case number is 713105.
     
  21. TactAim

    TactAim

    Joined:
    Jul 14, 2015
    Posts:
    6
    I don't think I've used that plugin in my project, but removing another unused plugin that's adding to the Linker errors reduces the errors. However, I don't think I can remove KeychainItemWrapper and its related functions, even if those are among the Undefined symbols linker errors showing up. Could the other plugins be affecting the resulting Xcode project file because they're outdated (ie. needs to be updated to Unity 4.6.x)?

    Also, compared from before upgrading my project (when it worked in older 4.x Unity), it doesn't include some of the Libraries in the Link Binary with Libraries.
     
  22. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @dhandley

    Thanks, we will investigate this bug report.
     
  23. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @TactAim

    Yes, another plugin could be misbehaving. U3DXT is the only one we've seen so far, but it may not be the only one to write the Xcode project like this. I'm not entirely sure about the Libraries in the Link Binary with Libraries issue though. It may be worthwhile to compare an empty project with the one you are building to see if any of the plugins are misbehaving in this case as well.
     
  24. Sebrofjr

    Sebrofjr

    Joined:
    Oct 1, 2014
    Posts:
    24
    Hey @TactAim , as Josh said we had run into that same issue with our project and there is a workaround when building locally to get around this. In your Xcode project you need to add in the frameworks and libraries that are missing manually. In the case of U3DXT I had to manually add the libraries that were included with the plugin, but i also had to add in a couple apple specific ones like Twitter and CoreImage that were referenced by these plugins.

    Here is a example of what our linked frameworks looks like now:

    http://puu.sh/j7uB7/73bef97c75.png
     
  25. TactAim

    TactAim

    Joined:
    Jul 14, 2015
    Posts:
    6
    @JoshPeterson
    For now, I removed some of the misbehaving plugins since I can opt not to use them in my current version of my app, so I'm left with Undefined symbol Linker errors from iOS's Keychain class. I'll try the workaround Sebrofjr suggested, adding the missing Frameworks and Libraries manually as well as their dependencies.


    Thanks for the suggestion @Sebrofjr , I'll try this workaround. For your case you also manually added the plugin's included libraries (since they weren't added properly) along with other libraries they referenced, right? I see some are added as Optional, but for your plugins these libraries and their referenced libraries should be required right?
     
  26. Megapixarr

    Megapixarr

    Joined:
    Jul 22, 2015
    Posts:
    1
    Hi, I have the same problem. Environment: Unity 4.6.7p2, Xcode 6.4

    Undefined symbols for architecture arm64:
    "_UnityFontFallbacks", referenced from:
    iphone::GetFontFallbacks() in libiPhone-lib.a(iPhoneMisc.o)
    "_UnityGetAppControllerRootView", referenced from:
    -[MoviePlayerContext actuallyStartTheMovie:] in libiPhone-lib.a(iPhoneVideo.o)
    -[MovieHolderView initWithView:cancelOnTouch:] in libiPhone-lib.a(iPhoneVideo.o)
     
  27. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @Megapixarr

    I just checked on the state of the bug we have for this issue. It looks like our iOS team is investigating it. If you have a reproducible test case which you can provide, that might help. Please submit another bug report and let me know the number. I'll update our existing bug report then. Thanks!
     
  28. RelentlessLouis

    RelentlessLouis

    Joined:
    Feb 8, 2013
    Posts:
    5
    We're seeing this in 4.6.7p1 and 4.6.7p2 as well. Any ideas how we can work around this or whether the fix might make it into another patch?
     
  29. JumboWu

    JumboWu

    Joined:
    Nov 25, 2014
    Posts:
    9
    I have the same problem.
     
  30. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @Jump_Wu @RelentlessLouis I believe that you are both referring to case 705898, the exception related to the "not implemented on non-abstract class" exception. If so, then this is a bug we can reproduce and we are investigating. I'll see if I can increase the priority of the investigation. Thanks for letting me know about it.
     
  31. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @Jump_Wu@RelentlessLouis

    Wee've not yet corrected case 705898, but you should be able to work around this issue by adding the following link.xml file to the Assets directory in your project:

    <linker>
    <assembly fullname="System.Core">
    <type fullname="System.Linq.QueryableEnumerable`1" preserve="all"/>
    </assembly>
    </linker>

    You can find more information about the link.xml file here:

    http://docs.unity3d.com/Manual/iphone-playerSizeOptimization.html

    It seems that the byte code stripper is being too aggressive, and stripping out something that should still be there. This link.xml file will prevent that stripping from occurring, and allow the build to complete successfully.
     
  32. povilas

    povilas

    Unity Technologies

    Joined:
    Jan 28, 2014
    Posts:
    427
    Hello. Sorry for delaying the bug fix, it should be included into 4.6.7p4.
     
  33. TactAim

    TactAim

    Joined:
    Jul 14, 2015
    Posts:
    6
    Thank you for the bug fix, I'll be upgrading when it comes out then. (currently on 4.6.7f1)
     
  34. dbiedenbach

    dbiedenbach

    Joined:
    Mar 4, 2015
    Posts:
    1
    @oddurmagg @JoshPeterson
    I'm seeing the same random crashes on scene transition that oddurmagg reported as issue 683386. Did that ever get resolved? I've tried Unity 4.6.7p1 and p4. One example crash is below:

    UnityDefaultAllocator<LowLevelAllocator>::AllocationPage<(this=<unavailable>, p=<unavailable>)0>(void const*) + 400 at UnityDefaultAllocator.cpp:212, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x3f80000000000040)

    * frame #0: 0x00000001023b9b54`bool UnityDefaultAllocator<LowLevelAllocator>::AllocationPage<(this=<unavailable>, p=<unavailable>)0>(void const*) + 400 at UnityDefaultAllocator.cpp:212
    frame #1: 0x00000001023b9578`UnityDefaultAllocator<LowLevelAllocator>::RegisterAllocation(this=<unavailable>, p=<unavailable>) + 152 at UnityDefaultAllocator.cpp:242
    frame #2: 0x00000001023b942c`UnityDefaultAllocator<LowLevelAllocator>::Allocate(this=0x0000000103394160, size=176, align=<unavailable>) + 96 at UnityDefaultAllocator.cpp:27
    frame #3: 0x00000001023b6ae4`MemoryManager::Allocate(size=176, align=32, label=0x00000001032f3f98, allocateOptions=<unavailable>, this=<unavailable>, file=<unavailable>, line=<unavailable>) + 208 at MemoryManager.cpp:973
    frame #4: 0x00000001025890f4`BufferedVBO::BufferVertexData(this=0x000000014aa80770, buffer=0x000000016fdc15b8, copyModes=0x000000016fdc155c) + 292 at BufferedVBO.cpp:56
    frame #5: 0x0000000102588fc4`BufferedVBO::BufferAllVertexData(this=<unavailable>, buffer=<unavailable>) + 36 at BufferedVBO.cpp:19
    frame #6: 0x000000010235a4b4`GLES2VBO::UpdateVertexData(this=0x000000014aa80770, srcBuffer=0x000000016fdc15b8) + 32 at VBOGLES20.cpp:757
    frame #7: 0x000000010241b628`Mesh::CreateSharedVBO(this=0x000000014b0eefb0, wantedChannels=<unavailable>) + 220 at LodMesh.cpp:1897
    frame #8: 0x000000010241b538`Mesh::GetSharedVBO(this=0x000000014b0eefb0, wantedChannels=<unavailable>) + 140 at LodMesh.cpp:1863
    frame #9: 0x000000010248f1b0`DrawUtil::DrawMeshRaw(channels=0x0000000149cad460, mesh=0x000000014b0eefb0, subsetIndex=0) + 40 at DrawUtil.cpp:44
    frame #10: 0x00000001023d8b6c`ForwardShaderRenderLoop::performRendering(this=0x000000016fdc1d60, mainDirShadowLight=<unavailable>, existingShadowMap=<unavailable>, shadowCullData=<unavailable>, disableDynamicBatching=<unavailable>, sRGBrenderTarget=<unavailable>, clearFrameBuffer=<unavailable>) + 2308 at ForwardShaderRenderLoop.cpp:737
    frame #11: 0x00000001023da264`DoForwardShaderRenderLoop(ctx=<unavailable>, objects=<unavailable>, opaque=<unavailable>, disableDynamicBatching=<unavailable>, mainShadowMap=<unavailable>, activeLights=<unavailable>, linearLighting=<unavailable>, clearFrameBuffer=<unavailable>) + 2684 at ForwardShaderRenderLoop.cpp:1408
    frame #12: 0x00000001023e3f9c`DoRenderLoop(loop=<unavailable>, renderPath=<unavailable>, contents=<unavailable>, dontRenderRenderables=<unavailable>) + 1372 at RenderLoopPrivate.cpp:435
    frame #13: 0x00000001023e8b70`Camera::DoRender(this=0x000000014ab22d80, cullResults=<unavailable>, customRender=<unavailable>, renderFlags=2)(Camera&, RenderLoop&, CullResults&), int) + 172 at Camera.cpp:1144
    frame #14: 0x00000001023e90e4`Camera::Render(this=0x000000014ab22d80, cullResults=0x000000016fdc21b8, renderFlags=2) + 348 at Camera.cpp:1696
    frame #15: 0x00000001023fe338`RenderManager::RenderCameras(this=0x000000014ab22d80) + 260 at RenderManager.cpp:94
    frame #16: 0x00000001024fc380`PlayerRender(present=false) + 168 at Player.cpp:1597
    frame #17: 0x00000001024fcb38`PlayerLoop(batchMode=false, performRendering=<unavailable>, pHookEvt=<unavailable>) + 1768 at Player.cpp:2055
    frame #18: 0x00000001022e7158`UnityPlayerLoop + 32 at LibEntryPoint.mm:253
    frame #19: 0x00000001000491d0`UnityRepaintImpl(forced=false) + 108 at UnityAppController+Rendering.mm:225
    frame #20: 0x00000001000489ac`UnityRepaint + 20 at UnityAppController+Rendering.mm:237
    frame #21: 0x000000010004898c`-[UnityAppController(self=0x0000000170485500, _cmd=0x0000000102c7a436) repaint] + 92 at UnityAppController+Rendering.mm:70
    frame #22: 0x000000010004887c`__51-[UnityAppController(.block_descriptor=<unavailable>) repaintDisplayLink]_block_invoke + 76 at UnityAppController+Rendering.mm:55
    frame #23: 0x0000000106674fd4 libdispatch.dylib`_dispatch_call_block_and_release + 24
    frame #24: 0x0000000106674f94 libdispatch.dylib`_dispatch_client_callout + 16
    frame #25: 0x0000000106679c28 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1864
    frame #26: 0x00000001836f77f8 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
    frame #27: 0x00000001836f58a0 CoreFoundation`__CFRunLoopRun + 1492
    frame #28: 0x00000001836212d4 CoreFoundation`CFRunLoopRunSpecific + 396
    frame #29: 0x000000018d0776fc GraphicsServices`GSEventRunModal + 168
    frame #30: 0x000000018821ef40 UIKit`UIApplicationMain + 1488
    frame #31: 0x0000000100042c68`main(argc=1, argv=0x000000016fdc39d8) + 244 at main.mm:62
    frame #32: 0x0000000195abea08 libdyld.dylib`start + 4

     
  35. brianbare

    brianbare

    Joined:
    Aug 19, 2015
    Posts:
    1
    @floky @MigrantP @JoshPeterson

    I am also running into this same problem with Directory.GetFiles() for Case number 703908 where it functioned properly with the Mono build, but does not does not work with the IL2CPP build. Any update on this?
     
    Last edited: Aug 19, 2015
  36. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @dbiedenbach

    I don't see much recent progress on case 683386. It looks like this is a more general iOS problem, and may not be specific to IL2CPP. I'll ping our iOS team to see if they can have a look.
     
  37. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @brianbare

    It looks like out QA team has not yet processed this bug report. I'll ping them again to see if they can reproduce it. Then we will set about fixing it.
     
  38. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @dbiedenbach

    After talking with our iOS team about case 683386, I've learned that we are not entirely sure about the cause of the issue yet. If you can submit a bug report with your project that causes these crashes, that would really help. Random crashes like this can usually benefit from more data points. If you do submit a bug report, please let me know the number, and I'll ensure that it is correctly associated with case 683386.
     
  39. jounisuom

    jounisuom

    Joined:
    Sep 17, 2014
    Posts:
    3
    I'm witnessing some serious degradation in iOS IL2CPP build loading times happening from Unity version 4.6.7p1 to latest 4.6.8. Below are links to screenshots from Instruments' Time Profiler on iPhone 4S for the same codebase just built with different versions of Unity. In the screenshots I have selected the area where the degradation has happened. During this time the splash screen is displayed and user scripts have not yet been run. Also from the call stack I have selected the part that is taking the hit.

    Unity 4.6.7p1:
    http://s16.postimg.org/h2bz7w2d1/profile_4_6_7p1.png

    Unity 4.6.7p2:
    http://s17.postimg.org/obkd3aibz/profile_4_6_7p2.png

    Unity 4.6.7p3:
    http://s17.postimg.org/x9530narz/profile_4_6_7p3.png

    Performance is unchanged for 4.6.8.

    Any ideas/workarounds to be able to use latest versions?
     
    MrEsquire likes this.
  40. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @jounisuom

    We actually have a bug fix for this issue in progress now. We've been able to significantly improve the performance of il2cpp::vm::Class::FromNameInitialized. This fix did not make the cut-off for 4.6.8p1, but it should be in 4.6.8p2.

    I don't think there is a work around in this case, as it looks like the call is coming from Unity code, so there is likely not much you can do, unfortunately. If you are hitting this method in a code path you can control from your code, it is sometimes possible to cache the result to avoid making so many calls to a slow method.

    However the best approach is for us to make the method faster, which we have done.
     
  41. jounisuom

    jounisuom

    Joined:
    Sep 17, 2014
    Posts:
    3
    @JoshPeterson Ok thanks for the info! We'll just stick to 4.6.7p1 until the fix comes out. Hopefully the perf will come back to the same level.
     
  42. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,083
    @JoshPeterson Hi, I reported a bug a while back that was causing a crash on 64-bit iOS devices. Somebody else had submitted it to the bug tracker system (http://fogbugz.unity3d.com/default.asp?695521_s9o4gvdpnugdr4d3) and it's been marked as fixed.

    It says it will be included in the next major unity version but it didn't seem to be in the 4.6.8 build that was released afterwards. Do you know if it will be in any patch builds in the near future?

    Thanks,
    Tony
     
  43. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @tonemcbride

    For the time being, this fix will only appear in the 5.2 series (it is fixed int he first 5.2 release). Do you need to back ported to the 4.6 series? I'm not sure about that details of the bug, so I don't know if that is possible, but I can ask.
     
  44. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,083
    Ah, ok - I didn't realise that. I have a license for 5 but we were developing this particular project for 4.6 and didn't really want to upgrade it yet. If you could ask about porting it to 4.6 that would be great - if it's going to be difficult I can always look into upgrading the project to 5.
     
  45. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @tonemcbride

    We've scheduled this fix to be back ported to the 4.6 series. I'm not sure yet which release will have it, but when it is there, you should see an entry in the release notes like this: "iOS: fix crash with batching empty meshes".
     
  46. meleonid

    meleonid

    Joined:
    Dec 30, 2012
    Posts:
    4
    Hey @Jeffom,

    I'm stuck with same problem. have you found a solution?

    Thanks,
    Leonid
     
  47. tonemcbride

    tonemcbride

    Joined:
    Sep 7, 2010
    Posts:
    1,083
    Thanks for that, that'll save me upgrading the project for now!
     
  48. OnyxM

    OnyxM

    Joined:
    Sep 8, 2015
    Posts:
    6
    I'm also having an issue regarding il2cpp; I am creating a game using Unity 5.1.2.

    Till last week I was able to build to iOS. But now suddenly, am getting lot of il2cpp related errors due to which I cannot build anymore.

    Have tried opening old builds, installed Unity 5.1.2 p, then today tried Unity 5.1.3.....but the same errors keep cropping up (in total four, mentioned below):

    Code (CSharp):
    1. --- IL2CPP error (no further information about what managed code was being converted is available) Additional information: Build a development build for more information. Failed to resolve assembly: '.../v0.23 (On Sep 2, Version=0.0, Culture=neutral, PublicKeyToken=null'
    2.  
    3. --- Failed running /Applications/Unity 5.1.2 p1/Unity.app/Contents/Frameworks/il2cpp/build/il2cpp.exe --copy-level=None --emit-null-checks --enable-array-bounds-check --extra-types.file="/Applications/Unity 5.1.2 p1/Unity.app/Contents/Frameworks/il2cpp/il2cpp_default_extra_types.txt" --assembly=".../v0.23 (...)/.../Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --assembly=".../Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" --assembly=".../Temp/StagingArea/Data/Managed/UnityEngine.dll" --generatedcppdir=".../Temp/il2cppOutput/il2cppOutput" --builder=none
    4.  
    5. stdout: IL2CPP error (no further information about what managed code was being converted is available) Additional information: Build a development build for more information. Failed to resolve assembly: '.../v0.23 (On Sep 2, Version=0.0, Culture=neutral, PublicKeyToken=null' il2cpp.exe didn't catch exception: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: '.../v0.23 (On Sep 2, Version=0.0, Culture=neutral, PublicKeyToken=null' at Unity.IL2CPP.Common.AssemblyLoader.Resolve (IMetadataScope scope) [0x00000] in :0 at Unity.IL2CPP.Common.AssemblyLoader.Load (System.String name) [0x00000] in :0 at Unity.IL2CPP.AssemblyConverter+c__AnonStorey1.<>m__0 (System.String path) [0x00000] in :0 at System.Linq.Enumerable+c__Iterator102[System.String,Mono.Cecil.AssemblyDefinition].MoveNext () [0x00000] in <filename unknown>:0
    6.  at System.Linq.Enumerable.ToArray[AssemblyDefinition] (IEnumerable1 source) [0x00000] in :0 at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in :0 at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, NiceIO.NPath outputDir, System.Collections.Generic.List`1 additionalCpp) [0x00000] in :0 stderr:
    7.  
    8. Unhandled Exception: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: '.../v0.23 (On Sep 2, Version=0.0, Culture=neutral, PublicKeyToken=null' at Unity.IL2CPP.Common.AssemblyLoader.Resolve (IMetadataScope scope) [0x00000] in :0 at Unity.IL2CPP.Common.AssemblyLoader.Load (System.String name) [0x00000] in :0 at Unity.IL2CPP.AssemblyConverter+c__AnonStorey1.<>m__0 (System.String path) [0x00000] in :0 at System.Linq.Enumerable+c__Iterator102[System.String,Mono.Cecil.AssemblyDefinition].MoveNext () [0x00000] in <filename unknown>:0
    9.  at System.Linq.Enumerable.ToArray[AssemblyDefinition] (IEnumerable1 source) [0x00000] in :0 at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in :0 at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, NiceIO.NPath outputDir, System.Collections.Generic.List1 additionalCpp) [0x00000] in <filename unknown>:0
    10. [ERROR] FATAL UNHANDLED EXCEPTION: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: '.../v0.23 (On Sep 2, Version=0.0, Culture=neutral, PublicKeyToken=null'
    11.  at Unity.IL2CPP.Common.AssemblyLoader.Resolve (IMetadataScope scope) [0x00000] in <filename unknown>:0
    12.  at Unity.IL2CPP.Common.AssemblyLoader.Load (System.String name) [0x00000] in <filename unknown>:0
    13.  at Unity.IL2CPP.AssemblyConverter+<Apply>c__AnonStorey1.<>m__0 (System.String path) [0x00000] in <filename unknown>:0
    14.  at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator102[System.String,Mono.Cecil.AssemblyDefinition].MoveNext () [0x00000] in :0 at System.Linq.Enumerable.ToArray[AssemblyDefinition] (IEnumerable1 source) [0x00000] in <filename unknown>:0
    15.  at Unity.IL2CPP.AssemblyConverter.Apply () [0x00000] in <filename unknown>:0
    16.  at Unity.IL2CPP.AssemblyConverter.ConvertAssemblies (System.String[] assemblies, NiceIO.NPath outputDir, System.Collections.Generic.List1 additionalCpp) [0x00000] in :0
    17.  
    18. UnityEngine.Debug:LogError(Object) UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:66) UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection1, String, String) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:402)
    19. UnityEditorInternal.IL2CPPBuilder:Run() (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:293)
    20. UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action1, RuntimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:211) UnityEditor.HostView:OnGUI()
    21.  
    22. --- Exception: /Applications/Unity 5.1.2 p1/Unity.app/Contents/Frameworks/il2cpp/build/il2cpp.exe did not run properly! UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:68) UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (ICollection1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:402)
    23. UnityEditorInternal.IL2CPPBuilder.Run () (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:293)
    24. UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:211) UnityEditor.iOS.PostProcessiPhonePlayer.PostProcess (UnityEditor.iOS.iOSBuildPostprocessor pp, BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String stagingAreaDataManaged, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry) UnityEditor.iOS.iOSBuildPostprocessor.PostProcess (BuildPostProcessArgs args) 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 /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:316) UnityEditor.HostView:OnGUI()
    25.  
    26. --- Error building Player: Exception: /Applications/Unity 5.1.2 p1/Unity.app/Contents/Frameworks/il2cpp/build/il2cpp.exe did not run properly!
     
  49. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,921
    @OnyxM

    Something looks very wrong with the command line provided to il2cpp.exe from the Unity editor. The assembly:

    ".../v0.23 (...)/.../Temp/StagingArea/Data/Managed/Assembly-CSharp.dll"

    should just be:

    "../Temp/StagingArea/Data/Managed/Assembly-CSharp.dll"

    I'm not entirely sure why this is occurring though. Can you try this project on a different machine, if one is available? It also might be worthwhile to try a new, empty project on the machine where this problem occurs as well. Please let me know the results.
     
  50. Jeffom

    Jeffom

    Joined:
    Oct 6, 2010
    Posts:
    55
    Hello meleonid,
    The only solution for my problem was deleting the generated content and build again from scratch.