Search Unity

il2cpp builds crash in Unity 2018.3 RC1 when TextMeshPro is used

Discussion in 'UGUI & TextMesh Pro' started by patrykk, Dec 8, 2018.

  1. patrykk

    patrykk

    Joined:
    May 20, 2017
    Posts:
    13
    Hi,
    I'm having lots of problems when trying to build my game with il2cpp framework, when I use tmpro.

    Any standalone build configuration, as long as it's il2cpp, crashes immediately when ran, and gives the following errors:

    ========== OUTPUTTING STACK TRACE ==================

    0x00007FFCA8BEB848 (GameAssembly) __chkstk
    0x00007FFCA9675E96 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:22534] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA968986A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:28186] TextMeshProUGUI_GenerateTextMesh_m390AFC3076D469CA9CDFF610CDEE869A17808CF5
    0x00007FFCA84EE5B9 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_2.cpp:52] VirtActionInvoker0::Invoke
    0x00007FFCA96B7448 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:22521] TextMeshProUGUI_OnPreRenderCanvas_m4ABF4F4A5DD070CE6F2297BE0D0FD9197B6015E4
    0x00007FFCA96B7EA2 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_4.cpp:13554] TextMeshProUGUI_Rebuild_m6A6870D565CF24DCFB0B13149AE18103AD462F3C
    0x00007FFCA8503CCC (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unity.textmeshpro_3.cpp:118] InterfaceActionInvoker1<int>::Invoke
    0x00007FFCA97FF34D (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unityengine.ui_1.cpp:15997] CanvasUpdateRegistry_PerformUpdate_m27FCC7819543791FFD7C17E9A0A0599D9FABA3AD
    0x00007FFCAAB487CD (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unityengine.uimodule_0.cpp:2932] WillRenderCanvases_Invoke_m115F44E08A802F1800D79D3B92EE1A575AD08834
    0x00007FFCAAB453FA (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unityengine.uimodule_0.cpp:2844] Canvas_SendWillRenderCanvases_mD38081FE3172AC7A884B8ED459E90633167B2D10
    0x00007FFCAAB4529A (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unityengine.uimodule_0.cpp:2811] Canvas_ForceUpdateCanvases_mB23FF44265E49BE388A79267533EA482F08C0755
    0x00007FFCA9CDCA26 (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unityengine.ui_3.cpp:28300] ScrollRect_EnsureLayoutHasRebuilt_m9B19F9D3F790C03A1CCA5954CEF4597E91C5F151
    0x00007FFCA9CDF30C (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\bulk_unityengine.ui_3.cpp:29168] ScrollRect_LateUpdate_mF968CFA447E8D19FB1BABB9E857BFD6CA5995C95
    0x00007FFCA843CB6B (GameAssembly) [k:\checkpointalpha\temp\stagingarea\data\il2cppoutput\il2cppinvokertable.cpp:44641] RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017
    0x00007FFCA88E7E9A (GameAssembly) [k:\bin\2018.3.0 rc1\editor\data\il2cpp\libil2cpp\vm\runtime.cpp:531] il2cpp::vm::Runtime::Invoke
    0x00007FFCA8943CDF (GameAssembly) [k:\bin\2018.3.0 rc1\editor\data\il2cpp\libil2cpp\il2cpp-api.cpp:974] il2cpp_runtime_invoke
    0x00007FFCBF72F915 (UnityPlayer) UnityMain
    0x00007FFCBF740D80 (UnityPlayer) UnityMain
    0x00007FFCBF74AE09 (UnityPlayer) UnityMain
    0x00007FFCBF74AFC6 (UnityPlayer) UnityMain
    0x00007FFCBF250780 (UnityPlayer) UnityMain
    0x00007FFCBF25770F (UnityPlayer) UnityMain
    0x00007FFCBF4BCAE9 (UnityPlayer) UnityMain
    0x00007FFCBF4AD5DE (UnityPlayer) UnityMain
    0x00007FFCBF4AD6AF (UnityPlayer) UnityMain
    0x00007FFCBF4B0620 (UnityPlayer) UnityMain
    ERROR: SymGetSymFromAddr64, GetLastError: 'Próbowano uzyskać dostęp do nieprawidłowego adresu.' (Address: 00007FFCBEF2E672)
    0x00007FFCBEF2E672 (UnityPlayer) (function-name not available)
    ERROR: SymGetSymFromAddr64, GetLastError: 'Próbowano uzyskać dostęp do nieprawidłowego adresu.' (Address: 00007FFCBEF2CCEA)
    0x00007FFCBEF2CCEA (UnityPlayer) (function-name not available)
    ERROR: SymGetSymFromAddr64, GetLastError: 'Próbowano uzyskać dostęp do nieprawidłowego adresu.' (Address: 00007FFCBEF319E6)
    0x00007FFCBEF319E6 (UnityPlayer) (function-name not available)
    0x00007FFCBEF33D4B (UnityPlayer) UnityMain
    0x00007FFD20C43034 (KERNEL32) BaseThreadInitThunk
    0x00007FFD219C1471 (ntdll) RtlUserThreadStart

    ========== END OF STACKTRACE ===========


    Does somebody also run into these issues? What can I do to fix this?
    I'd really like to keep using il2cpp, but for now only Mono builds work for me!
     
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    Can you send us a bug report? Text Mesh Pro should work fine with IL2CPP.
     
  3. EdwinLyons

    EdwinLyons

    Joined:
    Oct 4, 2012
    Posts:
    84
    Bumping this as I'm seeing the same issue in Unity 2018.3.10 with TextMesh Pro 1.4.0 (final release) and it's made the game unable to launch.

    I had to change to C# 4.0 from 3.5 to upgrade to this TextMesh Pro version, as it seems that TextMesh Pro doesn't support 3.5 anymore.
    The game works fine on Android with the Mono runtime, but breaks on iOS using IL2CPP. The game hard crashes as straight after the first frame has been rendered, but I can only catch this with adhoc provisioning profile signed builds - I don't see it when a build has been done via Xcode - perhaps implying some sort of timing issue?
    The first screen of the game (a splash screen) contains TextMesh Pro text.
    The error seems to be related to auto-sizing - it looks like GenerateTextMesh is called recursively and then after 12 calls, something goes wrong inside IL2CPP.

    Code (csharp):
    1. 0 projectname Il2CppSequencePointExecutionContext::Il2CppSequencePointExecutionContext(MethodInfo const*, void**, void**, void**) (in projectname) (Debugger.cpp:572) + 28567112
    2. 1 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    3. 2 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:29567) + 72962584
    4. 3 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    5. 4 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    6. 5 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    7. 6 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:29567) + 72962584
    8. 7 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    9. 8 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    10. 9 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    11. 10 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:29567) + 72962584
    12. 11 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    13. 12 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    14. 13 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    15. 14 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    16. 15 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    17. 16 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    18. 17 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    19. 18 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    20. 19 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    21. 20 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:32182) + 73020724
    22. 21 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    23. 22 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:29567) + 72962584
    24. 23 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    25. 24 projectname TextMeshProUGUI_GenerateTextMesh_m28F6F3927D00EE31CA0016D955FA94AC170CBC64 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:29567) + 72962584
    26. 25 projectname VirtActionInvoker0::Invoke(unsigned int, Il2CppObject*) (in projectname) (Bulk_Assembly-CSharp-firstpass_11.cpp:52) + 414812
    27. 26 projectname TextMeshProUGUI_OnPreRenderCanvas_mA1BB76D11387DF804E68A7C05BA58651ADAC825E (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:23668) + 72666396
    28. 27 projectname TextMeshProUGUI_Rebuild_m7BA4E1445DB42FD1EC2DB0A92324458BD178F610 (in projectname) (Bulk_Unity.TextMeshPro_4.cpp:14496) + 72662928
    29. 28 projectname InterfaceActionInvoker1<int>::Invoke(unsigned int, Il2CppClass*, Il2CppObject*, int) (in projectname) (Bulk_Firebase.App_0.cpp:167) + 1486992
    30. 29 projectname CanvasUpdateRegistry_PerformUpdate_m27FCC7819543791FFD7C17E9A0A0599D9FABA3AD (in projectname) (Bulk_UnityEngine.UI_1.cpp:16032) + 75362852
    31. 30 projectname WillRenderCanvases_Invoke_m115F44E08A802F1800D79D3B92EE1A575AD08834 (in projectname) (Bulk_UnityEngine.UIModule_0.cpp:0) + 74958836
    32. 31 projectname Canvas_SendWillRenderCanvases_mD38081FE3172AC7A884B8ED459E90633167B2D10 (in projectname) (Bulk_UnityEngine.UIModule_0.cpp:2851) + 74958340
    33. 32 projectname RuntimeInvoker_FalseVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017(void (*)(), MethodInfo const*, void*, void**) (in projectname) (Il2CppInvokerTable.cpp:52881) + 7630572
    34. 33 projectname il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) (in projectname) (Runtime.cpp:539) + 28494376
    35. 34 projectname scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) (in projectname) (ScriptingApi_Il2Cpp.cpp:246) + 20432932
    36. 35 projectname ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) (in projectname) (ScriptingInvocation.cpp:347) + 20476320
    37. 36 projectname UI::CanvasManager::WillRenderCanvases() (in projectname) (CanvasManager.cpp:426) + 11979244
    38. 37 projectname UI::InitializeCanvasManager()::UIEventsWillRenderCanvasesRegistrator::Forward() (in projectname) (CanvasManager.cpp:877) + 11980348
    39. 38 projectname InitPlayerLoopCallbacks()::PostLateUpdatePlayerUpdateCanvasesRegistrator::Forward() (in projectname) (Player.cpp:1299) + 18246384
    40. 39 projectname ExecutePlayerLoop(NativePlayerLoopSystem*) (in projectname) (PlayerLoop.cpp:347) + 18216188
     
  4. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    @EdwinLyons

    Do you happen to have script debugging enabled in the build settings? This should not crash, but it also looks like a code path which I think is only active when script debugging is enabled. I'm curious to know if this does not happen when script debugging is not enabled.
     
  5. EdwinLyons

    EdwinLyons

    Joined:
    Oct 4, 2012
    Posts:
    84
    @JoshPeterson
    It's built with BuildOptions.Development | BuildOptions.AllowDebugging.

    I'll try building without debugging.
     
  6. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    Thanks, please let me know. Even in the case of debugging, we likely still have a bug here.
     
  7. EdwinLyons

    EdwinLyons

    Joined:
    Oct 4, 2012
    Posts:
    84
    @JoshPeterson Just confirmed that it only occurs with BuildOptions.Development | BuildOptions.AllowDebugging. Builds without work fine - thanks for that. That's enough for us right now, but it'd be good to know if there's a workaround for this or when you expect there to be a fix?
     
  8. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    @EdwinLyons

    Can you submit a bug report for this issue? I'd like to investigate it more - but we should be able to correct it.
     
  9. EdwinLyons

    EdwinLyons

    Joined:
    Oct 4, 2012
    Posts:
    84
    @JoshPeterson

    I've left it trying to upload the report all day and it's not managed to get there - it's uploaded 1.5GB so far, but I think I've got to give up now. I can send you an IPA that reproduces it, or I can try to cut down the project - not sure whether that's worth my time?
     
  10. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    If you would like to upload the project to a different location, like Google Drive or Dropbox, we can grab it from there. Then you won't need to upload it via the bug reporter.

    I suspect this issue will be difficult to understand without the Unity project though.
     
  11. EdwinLyons

    EdwinLyons

    Joined:
    Oct 4, 2012
    Posts:
    84
    @JoshPeterson
    I've sent you a private message with a link to download the project, IPA and DSYM. Let me know if you need anything else.
     
    JoshPeterson likes this.
  12. tonysgn

    tonysgn

    Joined:
    Nov 22, 2016
    Posts:
    2
    Did anything ever come of this? I don't see any tracked bugs, but am seeing the same issue , I think.
     
  13. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    Our QA team was never able to reproduce this issue. If you have a project you can submit with a bug report to reproduce it, please do so, we'd love to investigate it more.
     
    Peter77 likes this.
  14. tonysgn

    tonysgn

    Joined:
    Nov 22, 2016
    Posts:
    2
    We're going to send something to a unity rep, but during the course of my investigation, for other users, it seems like what is happening is that in TMPro_UGUI_Private.cs in the TextMesh code on version 1.4.1 in the packageManger, is that for some of our assets, GenerateTextMesh is being called, which recursively calls itsself, incrementing a loopCountA value. In the various flows of the game, loopCountA is set to bail out at loopCountA > 20, but ours was crashing after loop 12, on calling the function for loop 13, near the "#region Text Auto-Sizing (Text greater than vertical bounds)" region block of code.

    Setting the > 20 to > 11 made the code run and be able to not crash, but that involved editing a read-only library file, so it's definitely a work-around rather than a solution. It seems like there must be something strange with one of our textMesh files trying to autosize something and failing, is my working theory.
     
  15. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    Oh, this sounds very much like a know issue:

    https://issuetracker.unity3d.com/product/unity/issues/guid/1164283/

    Please do submit a bug report, so that we can be sure. But if this is the same issue, I believe a fix is in the works now.
     
  16. EdwinLyons

    EdwinLyons

    Joined:
    Oct 4, 2012
    Posts:
    84
    I was having this issue in our project. In the end, we fixed it by moving the TextMesh pro text out of the first scene in the game - the first scene became an OBB loading scene. It was also resolvable by building as a non-development build.
     
    sarebots2 likes this.
  17. Gwom

    Gwom

    Joined:
    Aug 5, 2015
    Posts:
    21
    @JoshPeterson Any news on a fix for this that does not involve disabling Debug?
     
  18. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,936
    I'm not sure about the current state of this fix, I'll see what I can find out though.
     
  19. Stephan_B

    Stephan_B

    Joined:
    Feb 26, 2017
    Posts:
    6,595
    Update
    I re-worked the handling of text auto sizing to remove the use of recursion which appears to be the cause of the crash in Debug mode / C++ Compiler Configuration set to Debug. I presume the is related to logging of debug data as these cases all compile and run fine in Release mode.

    The provided case was crashing with 16 recursions. I tested more convoluted / extreme text auto size cases where it would have previously required over 60 recursions to handle. These extreme auto size examples compile and run fine in Release and Debug modes now.

    The described changes will be included in the next release of the TMP package which will be version 1.5.0 for Unity 2018.4 and 2.1.0 for Unity 2019.x.

    A preview of those releases will be available this week.
     
  20. FlyVC

    FlyVC

    Joined:
    Jan 5, 2020
    Posts:
    30
    This was still an issue with LTS 2019.4.22f1 and TMPro 2.0.1.
    But upgrading to LTS 2020.3.0f1 and TMPro 3.0.4 resolved the issue.
     
    Stephan_B likes this.