Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

4.6 iOS 64-bit beta

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

  1. Rbhaniwal

    Rbhaniwal

    Joined:
    Jan 23, 2015
    Posts:
    33
    @JoshPeterson
    ok thnkx a lot .. :)

    my Xcode does not gives warning with mono scripting backends these warning comes when i build my project with IL2CPP.
    With IL2CPP my players positions on IOS device are NaN but on editor it is a number and my players are visible.

    may you plz check it out ASAP. My players positions are controled by ControlScript.

    my case no. is - 684043. Any update on it. or you can give any hint about why players position is NaN on Xcode.
     
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @mobiledev2

    I've just downloaded the 4.6.4p3 .dmg file and installed it. I see About Unity reporting a version number of 4.6.4p3 as expected. So maybe you did end up downloading the 4.6.4p2 version? I'm not sure.
     
  3. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Rbhaniwal

    For the Mono scripting backend, the warnings do not occur in Xcode because Unity is not generating C++ code. We will have a look at this bug as soon as we can, thanks.
     
  4. Sebrofjr

    Sebrofjr

    Joined:
    Oct 1, 2014
    Posts:
    24
    Its strange because we have some of our others devs try the exact same dmg and it shows up as p3 on their machine, but on mine its showing p2 (after uninstalling locally and using the same dmg copied over on usb). Mind you I have had probably about every single version of unity on this machine now trying to get il2cpp working. Currently on OSX 10.10.1.
     
  5. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Sebrofjr

    I'm using OSX 10.10.3 here, but I doubt the OSX minor version is the cause of this problem. Some else here suggested, that maybe a previous version of the .dmg is still mounted, and the install is running from that one. It doesn't sound like the issue in your case though.

    If you happen to have a space in your install path, you could try building any empty project with the IL2CPP scripting backend. We had a bug in 4.6.4p2 which caused il2cpp.exe to fail immediately. That bug was corrected in 4.6.4p3. If things work with a space in the install path, then you have 4.6.4p3 installed.

    Maybe I'm revealing myself as a Windows user, but the OSX install process with .dmg files has always seemed overly complex to me. I'm sure there is a reason for it.
     
  6. johnnorthwood

    johnnorthwood

    Joined:
    Sep 23, 2013
    Posts:
    2
    I had the same issue with 4.6.4p2 and 4.6.4p3. I installed new patch but version did not change. However, after a reset it appeared correct.
     
  7. KEVINWEN

    KEVINWEN

    Joined:
    Apr 20, 2015
    Posts:
    2
    thk y . I know that's really a lot of work to do ,so many platforms and their always update.
     
  8. qtsohg

    qtsohg

    Joined:
    Oct 11, 2010
    Posts:
    4
    Hi,

    I was wondering if we have an update on case: 674763. I can't seem to find it in the issue tracker.
    We have the current error:
    NotSupportedException: /Users/builduser/buildslave/unity/build/Tools/il2cpp/il2cpp/libil2cpp/icalls/mscorlib/System.Reflection/Assembly.cpp(349) : Unsupported internal call for IL2CPP:Assembly::GetManifestResourceNames - "This icall is not supported by il2cpp."

    Is this something that is still being looked at?

    Thanks,
    Pierre
     
  9. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @johnnorthwood

    Can you let us know what you mean, specifically, by a reset? That might help others who are seeing the same problem. Thanks.
     
  10. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @qtsohg

    This is still being looked at, but we have not yet implemented it. I'm hoping for a implementation soon, but I cannot give an ETA.
     
  11. mastermachines1

    mastermachines1

    Joined:
    Jan 23, 2015
    Posts:
    19
    Hello Josh,

    Do you have any updates on the deadlocking issue? Our game freezes right away when we try starting up services that run in the background such as Game Center and our analytics system. We do not get this issue with mono.

    Thanks!
     
  12. Nikul

    Nikul

    Joined:
    Jul 27, 2012
    Posts:
    11
    Hi, using Unity 4.6.4p3, cannot get this to build under IL2CPP, works fine with the Mono backend, if I comment out the code in the AutoTarget script completely it builds just fine and the resulting Xcode builds and deploys on the Apple devices. What am I doing wrong here?


    Failed running /Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/build/il2cpp.exe --copy-level=None --enable-unity-event-support --emit-null-checks --enable-array-bounds-check --extra-types.file="/Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/il2cpp_default_extra_types.txt" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Assembly-CSharp-firstpass.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Assembly-Boo.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Assembly-UnityScript-firstpass.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Assembly-UnityScript.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Benchy.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Mono.Cecil.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/ICSharpCode.SharpZipLib.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/unibill.dll" --assembly="/Users/Nik/ASII/Temp/StagingArea/Data/Managed/CloudSystem.Runtime.dll" --generatedcppdir="/Users/Nik/ASII/Temp/il2cppOutput/il2cppOutput" --builder=none
    stdout;
    IL2CPP error for method 'System.Single AutoTargetScript1::InterceptTime(UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3)' in assembly '/Users/Nik/ASII/Temp/StagingArea/Data/Managed/Assembly-UnityScript.dll'
    Additional information: Build a development build for more information. Invalid global variables count
    Parameter name: globalVariables
    stderr:
    Unhandled Exception: System.ArgumentException: Invalid global variables count
    Parameter name: globalVariables
    at Unity.IL2CPP.MethodBodyWriter.WriteAssignGlobalVariables (Unity.IL2CPP.StackAnalysis.GlobalVariable[] globalVariables) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodBodyWriter.WriteUnconditionalJumpTo (Unity.IL2CPP.Common.CFG.InstructionBlock block, Mono.Cecil.Cil.Instruction target) [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, Unity.IL2CPP.MetadataUsage metadataUseCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodDefinition (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethod (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodAndWrappers (Mono.Cecil.MethodReference method, MethodWriteMode mode) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.MethodWriter.WriteMethodDefinitions (System.Func`2 filter) [0x00000] in <filename unknown>:0
    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
    at Unity.IL2CPP.SourceWriter.WriteMethodSourceFiles (NiceIO.NPath outputDirectory, System.String fileName, IEnumerable`1 typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.Write (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, NiceIO.NPath outputDir, Mono.Cecil.TypeDefinition[] typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.Convert (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics) [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) [0x00000] in <filename unknown>:0
    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase)
    UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String)
    UnityEditorInternal.IL2CPPBuilder:Run()
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry)
    UnityEditor.HostView:OnGUI()

    Here is the function that seems to stump IL2CPP:

    Code (JavaScript):
    1. function InterceptTime(TargetVel : Vector3, TargetRelVel : Vector3, PlayerVel : Vector3){// Get the time to intercept the target
    2. var TargetRelVelSqr : float = TargetRelVel.sqrMagnitude;
    3. var TArgetRelPosSqr : float = RelPos.sqrMagnitude;
    4.  
    5.     if(TargetVel.sqrMagnitude < 0.001){
    6.         return 0.0;
    7.     }
    8.  
    9. var a : float;
    10.  
    11.  
    12.         a = (TargetRelVelSqr - (ProjectileVelocity * ProjectileVelocity) + PlayerVel.sqrMagnitude);
    13.  
    14.  
    15. var TDot : float = Vector3.Dot(TargetRelVel, RelPos);
    16.  
    17.     if(Mathf.Abs(a) < 0.001){
    18.         var t : float = -TArgetRelPosSqr / (2.0 * TDot);
    19.         return Mathf.Max(t, 0.0);
    20.     }
    21.  
    22. var b : float = 2.0 * TDot;
    23. var c : float = b*b - 4.0 * a * TArgetRelPosSqr;
    24.  
    25.     if(c > 0.0){
    26.         var dSqr : float = Mathf.Sqrt(c);
    27.         var t1 = (-b + dSqr) / (2.0 * a);
    28.         var t2 = (-b - dSqr) / (2.0 * a);
    29.      
    30.         if(t1 > 0.0){
    31.             if(t2 > 0.0){
    32.                 return Mathf.Min(t1, t2);
    33.             }else{
    34.                 return t1;
    35.             }
    36.         }else{
    37.             return Mathf.Max (t2, 0.0);
    38.         }
    39.     }else if(c < 0.0){
    40.         return 0.0;
    41.     }else{
    42.         return Mathf.Max(-b / (2.0 * a), 0.0);
    43.     }
    44. }
    45.  
     
  13. Favo-Yang

    Favo-Yang

    Joined:
    Apr 4, 2011
    Posts:
    464
    Please see case 691213. Thanks for help.
     
  14. johnnorthwood

    johnnorthwood

    Joined:
    Sep 23, 2013
    Posts:
    2
    Hi,

    By reset, I meant restarting the computer.
     
  15. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @mastermachines1

    Sorry, I'm not sure which problem you are referring to. Do you have a case number or a link to the original forum post that I can use for context? Thanks.
     
  16. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Nikul

    I don't think that you are doing anything wrong. This simply looks like a bug in IL2CPP that we need to correct. I can't pick out the problem immediately from looking at this code though. Can you submit a bug report and include the project which causes this error? That will allow us to correct it. Thanks.
     
  17. JoshPeterson

    JoshPeterson

    Unity Technologies

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

    Excellent, thanks for submitting this bug report.
     
  18. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @johnnorthwood

    Thanks for clarifying. For other experiencing a similar problem, does restarting the computer correct it?
     
  19. mastermachines1

    mastermachines1

    Joined:
    Jan 23, 2015
    Posts:
    19
    Here is a link to the forum post. I believe we are experiencing the same issue.
     
  20. mastermachines1

    mastermachines1

    Joined:
    Jan 23, 2015
    Posts:
    19
    I've restarted my Mac a few times in the last couple of days and Unity is still reporting a version number of 4.6.4p2.
     
  21. Sebrofjr

    Sebrofjr

    Joined:
    Oct 1, 2014
    Posts:
    24
    A removal of the old version including prefs in ~Library, restart mac, then reinstall now reports properly.
     
  22. mastermachines1

    mastermachines1

    Joined:
    Jan 23, 2015
    Posts:
    19
    That did it, thanks!
     
  23. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @mastermachines1

    Thanks for the context on this issue. We have looked at that bug, but is has proven difficult to reproduce, even on different iOS devices. If you have another project which reproduces this problem, we would like to have a look at it.

    We do believe that the deadlock is not related to the lazy initialization in the method prologues, but without a case where we can actually catch it in the debugger, it is difficult to be sure. In any case, we have a bug somewhere that we need to track down.
     
  24. mastermachines1

    mastermachines1

    Joined:
    Jan 23, 2015
    Posts:
    19
    Thanks. I've submitted a bug report and attached a zipped version of our project using the editor's bug reporting tool. There was no confirmation email or number to give you.
     
  25. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @mastermachines1

    Thanks. You should see a confirmation email soon. If you do, please let me know the case number. Thanks.
     
  26. cojo71

    cojo71

    Joined:
    Aug 19, 2014
    Posts:
    26
    Hi @JoshPeterson - sorry for the delay on this; we now have a bug report submitted with a repro case project using latest 5.0.1p1 il2cpp. Case number is 691588 - link is http://fogbugz.unity3d.com/default.asp?691588_rnd8rcnuqstk2beh

    Any additional insight / updates on potential workarounds for this issue would be greatly appreciated! We're now blocked on upgrades to the latest il2cpp for iOS until we can get this crash resolved.

    Thanks!
     
  27. JesseSmith

    JesseSmith

    Unity Technologies

    Joined:
    Jan 12, 2015
    Posts:
    1
    @FredDeschenes @joncham @JoshPeterson

    For anyone who gets the same exception mentioned on page 4:
    System.Exception: ERROR: Failed to resolve base type System.Configuration.ConfigurationException for type System.Configuration.ConfigurationErrorsException

    It is, in fact, because System.Configuration.ConfigurationException is not included in the .NET 2.0 Subset as seen here: http://docs.unity3d.com/412/Documentation/ScriptReference/MonoCompatibility.html
    The problem is likely that your link.xml file (as seen in page 4 of this thread) makes reference to the System.Configuration namespace (or a type within it). The UnusedByteCodeStripper2 will try to look for the namespace/type and throw an error when it doesn't find it.

    If you're building with the IL2CPP backend and .NET 2.0 Subset API compatibility remove any references to incompatible namespaces and types from your link.xml file and you should be good!
     
  28. FrenzooInfo

    FrenzooInfo

    Joined:
    May 2, 2014
    Posts:
    44
    Thanks to the IL2CPP team, the latest patch release (4.6.4p3) seems to work fine. We haven't gone through a full testing cycle yet due to plugin problems, however, it passed our most basic unit tests. Networking will be next.

    Will the next patch release coming up have more size improvements? It seems it's close to parity with mono builds currently (single armv7 architecture) however, having to pack 2 architectures means that we will be over the 100MB limit for ota downloads. Not sure if apple permits a single 64bit architecture or not.

    Has anyone managed to build a fairly complex game with .app <100MB with lots of plugins (ie prime31) with both architectures?

    Does the IL2CPP team expect more size improvements in the future?
     
  29. jerome-lacoste

    jerome-lacoste

    Joined:
    Jan 7, 2012
    Posts:
    206
    #691708

    Sorry for the delay, I ran into some Crash reporting issues while submitting the issue :)

    Screen Shot 2015-04-21 at 16.32.52.png
     
  30. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @cojo71

    Thanks for submitting this bug, we will investigate it.
     
  31. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @FrenzooInfo

    We do have a few more size improvements in process, but I don't expect anything to be available for the next few weeks at least.
     
  32. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @jerome.lacoste

    Thanks, I appreciate it. We will investigate this issue.
     
  33. MrEsquire

    MrEsquire

    Joined:
    Nov 5, 2013
    Posts:
    2,712
    When is the next patch for Unity 5? How are we doing in terms of bugs, looks like the list of issues over the weeks has been reduced significantly or maybe I'm wrong.
     
  34. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @MrEsquire

    We're hoping for the 5.0.1p2 patch release to be out soon. It was scheduled for Wednesday, but has been delayed.

    You are correct, we're generally fixing fewer issues in each patch release than we were a few weeks ago. There are a number of reasons for that. We're getting fewer bugs coming in (although we still have a nice backlog to complete), many of the bugs now are more difficult to fix (we've handling most of the "easy" bugs). We're also being a bit more conservative and risk averse. As more customers are shipping with IL2CPP for 64-bit iOS, we to spend more time ensuring that we don't regress.

    So we are continuing to work hard on bug fixes, but the pace has changed.
     
    MrEsquire likes this.
  35. mastermachines1

    mastermachines1

    Joined:
    Jan 23, 2015
    Posts:
    19
    I think Apple allows a single 64 bit architecture, but the app would not run on devices older than an iPhone 5S or iPad Air.

    Using sprite packing we've been able to significantly reduce the amount of space our textures take, and get our build size as low as 83mb for one of our games.

    One question I've had is that usually there is some space used in an app when you submit it due to Apple's compression (E.G. a 95mb app may become 105mb), but due to there being two binaries will Apple's compression take even more space?
     
  36. Nikul

    Nikul

    Joined:
    Jul 27, 2012
    Posts:
    11
    Hey Josh, we submitted a bug report Case 691607 and an example project with nothing in it except one scene with the script attached to an empty gameobject. It still fails to build under IL2CPP, but does under Mono. We cannot launch our game without this script, so we appreciate any help you can give!
     
  37. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Nikul

    Thanks, we will investigate this.
     
  38. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Dustin Horne

    Which bug are you referring to? If you have the number, I can check on its status easily.
     
  39. dchau_hh

    dchau_hh

    Joined:
    Jan 22, 2014
    Posts:
    24
    @JoshPeterson

    Have you been able to reproduce the bug with the supplied project? We're blocked and won't be able to submit to Apple without it. Thanks!
     
  40. Dustin-Horne

    Dustin-Horne

    Joined:
    Apr 4, 2013
    Posts:
    4,568
    I'm sorry, that was my bad. I thought the test was being done with 5.0.1f1 but it wasn't. It actually is fixed in the newest version so no worries. It had to do with IndexOutOfRange on DateTime.MinValue.
     
  41. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Dustin Horne

    Thanks for the update.
     
  42. Hacky

    Hacky

    Joined:
    Mar 22, 2013
    Posts:
    28
    Hi,

    I have a serious crash with 4.6.4p3 and iPhone6. Sometimes when the user lock the screen, my app crashes with the following crash log:
    http://pastebin.com/jMTkJViZ

    The app crashes everytime at SetupMetalFBO. I would send in an example project, but our project is very huge and I don't know how to reproduce, especially I don't have an iPhone6.

    My you be able to help with this information?
     
  43. Hacky

    Hacky

    Joined:
    Mar 22, 2013
    Posts:
    28
    Hi,

    another serious error. On an iPhone4S with iOS 8.1.2 at the start of the app it will show a wrong splashscreen. The splashscreen is cutted. On an iPhone4S with iOS 7.1 everything works fine.

    Unity: 4.6.4p3
     
  44. FrenzooInfo

    FrenzooInfo

    Joined:
    May 2, 2014
    Posts:
    44
    They way I see it, the executable is a single fat binary and due to the encryption process, it will definitely not be compressible. There will be some space expansion as the ipa is zip compressed and using zip to compress something not compressible will expand the size slightly.

    @mastermachines1: Where do you see that? Is it official? That would be great, as at the very least we can launch for 1 architecture while unity tech try and get the size down some more. I just haven't see any confirmation for it. That would take a load of my shoulders.
     
  45. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Hacky

    This crash looks like it might be specific to Metal rendering. Can you try it both with the IL2CPP and Mono scripting backends? Also, can you try it with and without Metal rendering enabled? That information might help to isolate the problem further. Thanks.
     
  46. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Hacky

    I've not seen anything like this before. Again, could to try this one with Mono as well as IL2CPP? Also, if you can put together a project which reproduces the problem, that will help. Thanks.
     
  47. Frima_FXVezina

    Frima_FXVezina

    Joined:
    Apr 23, 2015
    Posts:
    6
    Hello there M. Peterson!

    We have a nasty problem occurring to us while trying to build our application using the IL2CPP compiler and I was told by my workmate that you were the man for the situation!

    The actual log shall be attached further below. I can confirm that this happens on Unity 4.6.4p3 and prevents us from even building the xCode solution with this compiler. If you think there is anything we can do on our side to allow the compilation to go through for a 64bit build for Appstore submission while waiting for a fix from you guys, we would greatly appreciate knowing so.

    In the meantime, I'll keep on following this post and try to provide you with any additional information if need be.

    Thank you for your time!

    Log:
    Failed running /Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/build/il2cpp.exe --copy-level=None --enable-unity-event-support --emit-null-checks --enable-array-bounds-check --extra-types.file="/Applications/Unity/Unity.app/Contents/Frameworks/il2cpp/il2cpp_default_extra_types.txt"


    stdout;
    IL2CPP error for method 'System.Boolean System.Collections.Generic.EqualityComparer`1/DefaultComparer::Equals(T,T)' in assembly '/Users/fxvezina/Documents/Mobs/trunk/Temp/StagingArea/Data/Managed/Mono.Security.dll'
    Additional information: Build a development build for more information. Exception has been thrown by the target of an invocation.
    stderr:

    Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NotSupportedException: Operation is not supported.
    at Unity.IL2CPP.ILPreProcessor.TypeResolver.ResolveGenericParameter (Mono.Cecil.GenericParameter genericParameter) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.ILPreProcessor.TypeResolver.Resolve (Mono.Cecil.TypeReference typeReference, Boolean includeTypeDefinitions) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.ILPreProcessor.TypeResolver.Resolve (Mono.Cecil.TypeReference typeReference) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.ILPreProcessor.TypeResolver.Resolve (Mono.Cecil.TypeReference typeReference, Boolean includeTypeDefinitions) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.ILPreProcessor.TypeResolver.Resolve (Mono.Cecil.TypeReference typeReference) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.IncludeCollection.NonTemplated.MethodDefinitionVisitor.Visit (Mono.Cecil.MethodDefinition methodDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
    at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.TypeDefinition typeDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.IncludeCollection.NonTemplated.MethodDefinitionVisitor.Visit (Mono.Cecil.TypeDefinition typeDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
    at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
    --- End of inner exception stack trace ---
    at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
    at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
    at Unity.Cecil.Visitor.Visitor.Visit[TypeDefinition] (Mono.Cecil.TypeDefinition node, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
    at Unity.Cecil.Visitor.Extensions.DoAccept[TypeDefinition] (Mono.Cecil.TypeDefinition definition, Unity.Cecil.Visitor.Visitor visitor) [0x00000] in <filename unknown>:0
    at Unity.Cecil.Visitor.Extensions.Accept (Mono.Cecil.TypeDefinition typeDefinition, Unity.Cecil.Visitor.Visitor visitor) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.IncludeCollection.NonTemplated.IncludeCollector.ForMethodDefinitions (Mono.Cecil.GenericInstanceType type) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.IncludeCollection.NonTemplated.IncludeCollector.ForMethodDefinitions (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.IncludeWriter.WriteMethodDefinitionIncludes (Mono.Cecil.TypeReference type, Unity.IL2CPP.CppCodeWriter writer, Mono.Cecil.AssemblyDefinition mscorlib) [0x00000] in <filename unknown>:0
    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
    at Unity.IL2CPP.SourceWriter.WriteMethodSourceFiles (NiceIO.NPath outputDirectory, System.String fileName, IEnumerable`1 typeList, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.SourceWriter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection genericsCollection, IEnumerable`1 allTypeDefinitions, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection) [0x00000] in <filename unknown>:0
    at Unity.IL2CPP.AssemblyConverter.WriteGenerics (Unity.IL2CPP.GenericsCollection.InflatedCollection allGenerics, Unity.IL2CPP.StringLiterals.StringLiteralCollection stringLiteralCollection, 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) [0x00000] in <filename unknown>:0

    UnityEngine.Debug:LogError(Object)
    UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase)
    UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection`1, String, String)
    UnityEditorInternal.IL2CPPBuilder:Run()
    UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry)
    UnityEditor.HostView:OnGUI()
     
  48. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,779
    @Frima_FXVezina

    I'm not sure there is much you can do on your side for this error. It's not one that we have seen before, and this call stack is a bit surprising actually. Can you submit a bug report with this project so that we can investigate it?
     
  49. Frima_FXVezina

    Frima_FXVezina

    Joined:
    Apr 23, 2015
    Posts:
    6
    I'm creating a sample project that will re-create the issue as we speak and will provide a proper bug report a soon as possible.
     
  50. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    959
    Having just received the encrypted compressed size, I would say that the "definitely not compressible" no longer seems to be true. The encrypted fat binary is much less compressible than the un-encrypted one but it is definitely smaller. Our game has 35MB of data and a 75MB executable, which resulted in 52MB un-encrypted and 85.5MB encrypted.