Search Unity

Unity 5.6 Not implemented: Class::FromIl2CppType and others

Discussion in 'Web' started by bdovaz, Apr 4, 2017.

  1. bdovaz

    bdovaz

    Joined:
    Dec 10, 2011
    Posts:
    1,051
    @Marco-Trivellato @jonas-echterhoff

    Without any code change I simply upgrade it from 5.5 to 5.6 and this happens. Particularly when loading multiple files it seems:

    Not implemented: Class::FromIl2CppType

    UnityLoader.js:1 exception thrown: RangeError: Maximum call stack size exceeded,RangeError: Maximum call stack size exceeded

    AND MULTIPLE ERRORS OF:

    at b7v (blob:http://{MY_DOMAIN}/12547096-2780-4d82-9aa0-aaf548cc1b32:25:219467)

    Edit: I have published a development build and I have more info but I don't understand anything. In that method only assigns a value to a Dictionary.

    https://github.com/googleanalytics/...gins/GoogleAnalyticsV4/GoogleAnalyticsMPV3.cs

    Invoking error handler due to
    Uncaught Assertion failed: klass, at: C:\Program Files\Unity560\Editor\Data\il2cpp\libil2cpp\vm\Class.cpp,1454,Init at Error
    at jsStackTrace (Publish_Editor.asm.framework.unityweb:1154:12)
    at stackTrace (Publish_Editor.asm.framework.unityweb:1168:11)
    at ___assert_fail (Publish_Editor.asm.framework.unityweb:10323:207)
    at __ZN6il2cpp2vm5Class4InitEP11Il2CppClass (Publish_Editor.asm.code.unityweb:2135346:11)
    at _Dictionary_2_set_Item_m1004257024_gshared (Publish_Editor.asm.code.unityweb:1133087:2)
    at _GoogleAnalyticsMPV3_SetTrackerVal_m1658040469 (Publish_Editor.asm.code.unityweb:2440809:2)
    at _GoogleAnalyticsV4_SetOnTracker_m3951055237 (Publish_Editor.asm.code.unityweb:2509653:2)
    at _GoogleAnalyticsV4_InitializeTracker_m4043814436 (Publish_Editor.asm.code.unityweb:1662651:3)
    at _GoogleAnalyticsV4_LogEvent_m2776759460 (Publish_Editor.asm.code.unityweb:1966420:2)

    Edit 2: I have commented GAnalytics code (to test it out if that was the only crashing code) and I have another error involving my code that I don't understand:

    Uncaught Assertion failed: klass, at: C:\Program Files\Unity560\Editor\Data\il2cpp\libil2cpp\vm\Class.cpp,1454,Init at Error
    at jsStackTrace (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1811:12)
    at stackTrace (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1825:11)
    at ___assert_fail (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:14699:207)
    at ___assert_fail (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:3142:41)
    at __ZN6il2cpp2vm5Class4InitEP11Il2CppClass [il2cpp::vm::Class::Init(Il2CppClass*)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:1126375:11)
    at __ZN6il2cpp2vm4Type15GetNameInternalERNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPK10Il2CppType20Il2CppTypeNameFormatb [il2cpp::vm::Type::GetNameInternal(std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> >&, Il2CppType const*, Il2CppTypeNameFormat, bool)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:118155:4)
    at Array.asm.__ZN6il2cpp2vm4Type15GetNameInternalERNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPK10Il2CppType20Il2CppTypeNameFormatb [il2cpp::vm::Type::GetNameInternal(std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> >&, Il2CppType const*, Il2CppTypeNameFormat, bool)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:1841114:155)
    at Object.ftCall_viiii [as dynCall_viiii] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:7300:49)
    at invoke_viiii (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:7287:27)
    at __ZN6il2cpp2vm4Type7GetNameEPK10Il2CppType20Il2CppTypeNameFormat [il2cpp::vm::Type::GetName(Il2CppType const*, Il2CppTypeNameFormat)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:1243364:2)
    at Array.asm.__ZN6il2cpp2vm4Type7GetNameEPK10Il2CppType20Il2CppTypeNameFormat [il2cpp::vm::Type::GetName(Il2CppType const*, Il2CppTypeNameFormat)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:1948526:80)
    at Object.ftCall_viii [as dynCall_viii] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:8235:48)
    at invoke_viii (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:8222:26)
    at __ZN6il2cpp2vm5Class40GetInterfaceInvokeDataFromVTableSlowPathEPK12Il2CppObjectPK11Il2CppClassj [il2cpp::vm::Class::GetInterfaceInvokeDataFromVTableSlowPath(Il2CppObject const*, Il2CppClass const*, unsigned int)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:241730:8)
    at __ZN21InterfaceFuncInvoker1IP24ImageSettings_t705778644iE6InvokeEjP11Il2CppClassP12Il2CppObjecti [InterfaceFuncInvoker1<ImageSettings_t705778644*, int>::Invoke(unsigned int, Il2CppClass*, Il2CppObject*, int)] (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:870538:34)
    at _UICarouselItem_SetData_m1841271310 (eval at loadDynamicLibrary (blob:http://{MY_DOMAIN}/c5711202-c489-47a9-935f-49addbf379a3:1252:19), <anonymous>:634259:21)
     
    Last edited: Apr 5, 2017
    wenderRondonia likes this.
  2. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    Can you submit a bug report for this issue and let me know the number? It looks like a bug in Unity.
     
  3. lovelle_reflexion

    lovelle_reflexion

    Joined:
    Sep 16, 2015
    Posts:
    1
    @JoshPeterson I am also getting this same issue. Didn't change any code, just updated from 5.5 to 5.6 and now the webgl build seems to crash when using dictionary methods. In my case, dictionary.ContainsKey:

    With development mode disabled and enable explicitly thrown exceptions, I get the errors


    Code (JavaScript):
    1.  
    2. Not implemented: Class::FromIl2CppType
    3. exception thrown: InternalError: too much recursion
    4.  


    With development mode enabled and enable explicitly thrown exceptions, I get the error

    Code (JavaScript):
    1.  
     
  4. Schubkraft

    Schubkraft

    Unity Technologies

    Joined:
    Dec 3, 2012
    Posts:
    1,071
    A bug report with a repro project is the best way to go. Thanks!
     
  5. gregory-tkach

    gregory-tkach

    Joined:
    May 20, 2013
    Posts:
    10
    Hello. I got this bug too in my game. There is stacktrace https://pastebin.com/3w5aNBDN and there is code which called dictionary implementation: https://pastebin.com/Ntbriupc (line 15, and key wasn't NULL). Please help with solve this crash. It is not 100% repeatable, but I don't like that game will crash some times when it will call this code.
     
  6. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    @gregory-tkach

    Can you submit a bug report with the project that causes this issue? I think we will need that to investigate it.
     
  7. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
    Hi there,
    I got an error that looks like the previous one, with WEBGL in unity 2017.1.0f3.

    Not implemented: Class::FromIl2CppType
    UnityLoader.js:523 Invoking error handler due to
    Uncaught Assertion failed: klass, at: /Applications/Unity/Unity.app/Contents/il2cpp/libil2cpp/vm/Class.cpp,1459,Init at Error
    at jsStackTrace (WebGL.asm.framework.unityweb:1481:12)
    at stackTrace (WebGL.asm.framework.unityweb:1495:11)
    at ___assert_fail (WebGL.asm.framework.unityweb:14358:207)
    at ___assert_fail (eval at loadDynamicLibrary (blob:3390:41)
    at __ZN6il2cpp2vm5Class4InitEP11Il2CppClass [il2cpp::vm::Class::Init(Il2CppClass*)] (eval at loadDynamicLibrary (blob:1072622:11)
    at __ZN6il2cpp2vm4Type15GetNameInternalERNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPK10Il2CppType20Il2CppTypeNameFormatb [il2cpp::vm::Type::GetNameInternal(std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> >&, Il2CppType const*, Il2CppTypeNameFormat, bool)] (eval at loadDynamicLibrary (blob:122553:4)
    at Array.asm.__ZN6il2cpp2vm4Type15GetNameInternalERNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEPK10Il2CppType20Il2CppTypeNameFormatb [il2cpp::vm::Type::GetNameInternal(std::__2::basic_string<char, std::__2::char_traits<char>, std::__2::allocator<char> >&, Il2CppType const*, Il2CppTypeNameFormat, bool)] (eval at loadDynamicLibrary (blob:1661480:155)
    at Object.ftCall_viiii [as dynCall_viiii] (eval at loadDynamicLibrary (blob:7053:49)
    at invoke_viiii (eval at loadDynamicLibrary (blob:7040:27)
    at __ZN6il2cpp2vm4Type7GetNameEPK10Il2CppType20Il2CppTypeNameFormat [il2cpp::vm::Type::GetName(Il2CppType const*, Il2CppTypeNameFormat)] (eval at loadDynamicLibrary (blob:1171409:2)
    at Array.asm.__ZN6il2cpp2vm4Type7GetNameEPK10Il2CppType20Il2CppTypeNameFormat [il2cpp::vm::Type::GetName(Il2CppType const*, Il2CppTypeNameFormat)] (eval at loadDynamicLibrary (blob:1754474:80)
    at Object.ftCall_viii [as dynCall_viii] (eval at loadDynamicLibrary (blob:7801:48)
    at invoke_viii (eval at loadDynamicLibrary (blob:7788:26)
    at __ZN6il2cpp2vm5Class40GetInterfaceInvokeDataFromVTableSlowPathEPK12Il2CppObjectPK11Il2CppClassj [il2cpp::vm::Class::GetInterfaceInvokeDataFromVTableSlowPath(Il2CppObject const*, Il2CppClass const*, unsigned int)] (eval at loadDynamicLibrary (blob:226083:8)
    at __ZN21InterfaceFuncInvoker1IiP12Il2CppObjectE6InvokeEjP11Il2CppClassS1_S1_ [InterfaceFuncInvoker1<int, Il2CppObject*>::Invoke(unsigned int, Il2CppClass*, Il2CppObject*, Il2CppObject*)] (eval at loadDynamicLibrary (blob:851785:34)
    at _Dictionary_2_set_Item_m4126366741_gshared (eval at loadDynamicLibrary (blob:546935:7)
    at _WWW_get_responseHeaders_m3601905552 (eval at loadDynamicLibrary (blob:813499:4)
    at Array.asm._WWW_get_responseHeaders_m3601905552 (eval at loadDynamicLibrary (blob:1714772:52)
    at Object.ftCall_iii [as dynCall_iii] (eval at loadDynamicLibrary (blob:7716:47)
    at invoke_iii (eval at loadDynamicLibrary (blob:7703:32)
    at Array._U3CExecuteBundleRequestU3Ec__Iterator5_MoveNext_m2420888151 (eval at loadDynamicLibrary (blob:88731:9)
    at mftCall_iii (eval at loadDynamicLibrary (blob:1391845:100)
    at __ZN21InterfaceFuncInvoker0IbE6InvokeEjP11Il2CppClassP12Il2CppObject [InterfaceFuncInvoker0<bool>::Invoke(unsigned int, Il2CppClass*, Il2CppObject*)] (eval at loadDynamicLibrary (blob:861242:9)
    at Array._SetupCoroutine_InvokeMoveNext_m210462675 (eval at loadDynamicLibrary (blob:901624:21)
    at mftCall_viiii (eval at loadDynamicLibrary (blob:1340548:39)
    at __Z53RuntimeInvoker_Void_t707318217_RuntimeObject_IntPtr_tPFvvEPK10MethodInfoPvPS4_ [RuntimeInvoker_Void_t707318217_RuntimeObject_IntPtr_t(void (*)(), MethodInfo const*, void*, void**)] (eval at loadDynamicLibrary (blob:1228466:2)
    at Array.asm.__Z53RuntimeInvoker_Void_t707318217_RuntimeObject_IntPtr_tPFvvEPK10MethodInfoPvPS4_ [RuntimeInvoker_Void_t707318217_RuntimeObject_IntPtr_t(void (*)(), MethodInfo const*, void*, void**)] (eval at loadDynamicLibrary (blob:1774868:99)
    at Object.ftCall_iiiii [as dynCall_iiiii] (eval at loadDynamicLibrary (blob:6271:49)
    at invoke_iiiii (eval at loadDynamicLibrary (blob:6258:34)
    at __ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException [il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)] (eval at loadDynamicLibrary (blob:1068232:8)
    at _il2cpp_runtime_invoke (eval at loadDynamicLibrary (blob:1330272:9)
    at asm._il2cpp_runtime_invoke (eval at loadDynamicLibrary (blob:1709762:38)
    at _il2cpp_runtime_invoke (WebGL.asm.framework.unityweb:11780:42)
    at __Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb (WebGL.asm.code.unityweb:2647403:8)
    at __ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb (WebGL.asm.code.unityweb:1888511:7)
    at __ZN9Coroutine14InvokeMoveNextEP21ScriptingExceptionPtr (WebGL.asm.code.unityweb:2140919:2)
    at __ZN9Coroutine3RunEPb (WebGL.asm.code.unityweb:2352704:7)
    at __ZN9Coroutine17ContinueCoroutineEP6ObjectPv [Array.__ZN9Coroutine17ContinueCoroutineEP6ObjectPv] (WebGL.asm.code.unityweb:2744945:8)
    at mftCall_iii (WebGL.asm.code.unityweb:2795975:98)
    at __ZN18DelayedCallManager6UpdateEi [Array.__ZN18DelayedCallManager6UpdateEi] (WebGL.asm.code.unityweb:1106672:33)
    at mftCall_vii (WebGL.asm.code.unityweb:2798046:37)
    at __ZZ23InitPlayerLoopCallbacksvEN49UpdateScriptRunDelayedDynamicFrameRateRegistrator7ForwardEv [Array.__ZZ23InitPlayerLoopCallbacksvEN49UpdateScriptRunDelayedDynamicFrameRateRegistrator7ForwardEv] (WebGL.asm.code.unityweb:2689893:2)
    at mftCall_v (WebGL.asm.code.unityweb:2833397:35)
    at __Z10PlayerLoopv (WebGL.asm.code.unityweb:812004:14)
    at __ZL8MainLoopv (WebGL.asm.code.unityweb:2103363:3)
    at __ZL8MainLoopv [Array.UnityLoader.3c522cefad0e7ab8996b2a0be785ef8c.asm.__ZL8MainLoopv] (WebGL.asm.framework.unityweb:204212:29)
    at ftCall_v [Object.ftCall_v] (WebGL.asm.framework.unityweb:29980:28)
    at browserIterationFunc (WebGL.asm.framework.unityweb:3206:23)
    at runIter [Object.runIter] (WebGL.asm.framework.unityweb:3309:5)
    at Browser_mainLoop_runner (WebGL.asm.framework.unityweb:3244:20)

    Any suggestion?
     
    wenderRondonia likes this.
  8. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    @nfmelendez: Can you submit a bug report for this issue? I don't think that we have been able to reproduce it internally yet.
     
  9. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
    ok. done.
     
  10. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    Thanks!
     
    wenderRondonia likes this.
  11. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
    Hi more on this:

    I have found that when doing:
    Hash128 manifestHash = assetInfo.BundleManifest.GetAssetBundleHash(assetInfo.BundleName);
    request = WWW.LoadFromCacheOrDownload(assetInfo.FullBundlePath, manifestHash);

    then in
    string status = null;
    request.responseHeaders.TryGetValue ("STATUS", out status);

    i get the error inside request.responseHeaders.

    So my guess is that the problem is when you get a stored asset bundle from the cache, it doesn't have the response headers, so it doesn't behave like an "abstraction of a response" hiding if you get form cache or internet.

    For my use case in webgl, to download everything from internet again and again is a no go.

    Do you have a workaround to this? anyone having the same problem?
     
  12. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
    oh, just to have all the information, the bug in issue tracker number id 938618
     
    Last edited: Aug 4, 2017
  13. Marco-Trivellato

    Marco-Trivellato

    Unity Technologies

    Joined:
    Jul 9, 2013
    Posts:
    1,654
    thanks for the bug report.

    two quick comments:
    - the bug report does not have a repro project
    - this is your private link, I suggest posting only bug numbers.
     
    Last edited: Aug 4, 2017
  14. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
    Sorry was the first time i was publishing a bug report and accidentally i unchecked the option to send the project . should i send another bug report? or how can i update this one.

    updated the issue link to number only in the forum reply
     
    Last edited: Aug 4, 2017
  15. Marco-Trivellato

    Marco-Trivellato

    Unity Technologies

    Joined:
    Jul 9, 2013
    Posts:
    1,654
    No worries. I think you can reply to the confirmation email attaching a zipped project, alternatively you can just submit a new bug report if it's easier for you.
     
  16. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
    One more question about project upload. It upload the code? i work for a company, i don't think they want to disclose the code.
     
  17. Marco-Trivellato

    Marco-Trivellato

    Unity Technologies

    Joined:
    Jul 9, 2013
    Posts:
    1,654
    Yes, it will upload the code as well. Ideally you should make a small project that reproduces the same bug. If that's not possible, then you upload the whole project. Of course Unity will keep it confidential but the company you work for need to be OK with that.
     
  18. nfmelendez

    nfmelendez

    Joined:
    Feb 26, 2015
    Posts:
    22
  19. benjaminjordan

    benjaminjordan

    Joined:
    Jun 29, 2017
    Posts:
    3
    Has there been an update on this? I am also seeing these issues on 2017.1.0f3 as well as a "GetInterfaceInvokeDataFromVTable" exception.
     
  20. DevIsDave

    DevIsDave

    Joined:
    Aug 8, 2017
    Posts:
    19
    Has there been any progress on this? We are also experiencing this issue.
     
  21. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    No, we have not been able to correct this issue. If you can submit a bug report with a project we can use to reproduce it, we would love to correct it though.
     
  22. DevIsDave

    DevIsDave

    Joined:
    Aug 8, 2017
    Posts:
    19
    So I solved the issue, probably not the same issue reported here. We were getting the same error (Not implemented: Class::FromIl2CppType) but it was caused by a null reference. The error was misleading imo but pretty sure that's down to a WebGL thing and not Unity.

    Thanks.
     
    thorichland likes this.
  23. Deleted User

    Deleted User

    Guest

    We're having the same issue on our project. Not able to narrow it down with logs. Posted a bug report 969211
     
  24. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    Thanks for the bug report. I think this is something we can investigate, so I'll talk with our QA team about it.
     
  25. Kujo87

    Kujo87

    Joined:
    Sep 16, 2013
    Posts:
    168
    I know this is quite an old thread - but I was wondering if there was a solution for it? I've been trying to build my project in 2017.4.16 but I'm getting this error, which in turn causes a "Uncaught RangeError: Maximum call stack size exceeded" error after generating around 5000 of these errors.

    I've had the game running on Unity 2017.4.8 successfully, but have since updated to the latest and also moved over to .Net 4.6 is that makes a difference? I haven't tried to build it with 3.5, as it would require a few changes.

    The game is also being launch through Facebook using their current SDK (7.14)
     
  26. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    It looks like the issue reported in case 969211 was corrected in 2017.2. The error you are experiencing might be a slightly different issue then. Can you submit a new bug report?
     
  27. Kujo87

    Kujo87

    Joined:
    Sep 16, 2013
    Posts:
    168
    Will do
     
  28. Kristof_Newfort

    Kristof_Newfort

    Joined:
    Feb 21, 2014
    Posts:
    24
    Hi JoshPeterson

    Did you find the issue of this problem (Not implemented: Class::FromIl2CppType)? We are kind of stuck with this issue in Unity 5.3.8f2 (Yes pretty old, we know... but can't upgrade yet). Is there something we can do to avoid this? Is there any more clearance about this issue? I hope you can shed some light on this.

    Thanks in advance.
     
  29. JoshPeterson

    JoshPeterson

    Unity Technologies

    Joined:
    Jul 21, 2014
    Posts:
    6,930
    No, I believe the original issue here was corrected. I've not seen any newer bugs since then. If you have a test case you can provide in a bug report, please submit it. We will be happy to investigate and correct it.