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

Disable Burst to prevent crash

Discussion in 'Burst' started by echeg, Oct 14, 2019.

  1. echeg

    echeg

    Joined:
    Aug 1, 2012
    Posts:
    90
    We are preparing a beta test application. And we have a problem with Burst causing crashes.

    We update to 1.2.0 preview.5 and still have crashes on some android devices.

    We try disable burst
    upload_2019-10-14_16-1-5.png

    But application still crashes
    Log
    Code (CSharp):
    1. 10-14 15:55:24.027: E/AndroidRuntime(32426): FATAL EXCEPTION: UnityMain
    2. 10-14 15:55:24.027: E/AndroidRuntime(32426): Process: com.qcore.awars, PID: 32426
    3. 10-14 15:55:24.027: E/AndroidRuntime(32426): java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000001
    4. 10-14 15:55:24.027: E/AndroidRuntime(32426): Build fingerprint: 'Xiaomi/dipper/dipper:9/PKQ1.180729.001/V10.3.4.0.PEAMIXM:user/release-keys'
    5. 10-14 15:55:24.027: E/AndroidRuntime(32426): Revision: '0'
    6. 10-14 15:55:24.027: E/AndroidRuntime(32426): pid: 32426, tid: 32442, name: UnityMain  >>> com.qcore.awars <<<
    7. 10-14 15:55:24.027: E/AndroidRuntime(32426):     r0 cecfdfb0  r1 00000000  r2 00000001  r3 c4799380
    8. 10-14 15:55:24.027: E/AndroidRuntime(32426):     r4 af985d50  r5 00000000  r6 cecfe000  r7 cecfe130
    9. 10-14 15:55:24.027: E/AndroidRuntime(32426):     r8 00000001  r9 00000004  sl 02000464  fp cecfdfb0
    10. 10-14 15:55:24.027: E/AndroidRuntime(32426):     ip 00000000  sp cecfdf84  lr 00000000  pc af61da2c  cpsr afb39300
    11. 10-14 15:55:24.027: E/AndroidRuntime(32426):     at lib_burst_generated.00011a2c(Native Method)
    12.  
    Is it possible to disable burst so that such an error could not occur?
     
  2. Joachim_Ante

    Joachim_Ante

    Unity Technologies

    Joined:
    Mar 16, 2005
    Posts:
    5,203
    this setting is only in the editor. There is a setting for per platform deployment in the project settings, where you can disable burst for standalone player.
     
    NWalker_FGOL_Ubisoft and echeg like this.
  3. tim_jones

    tim_jones

    Unity Technologies

    Joined:
    May 2, 2019
    Posts:
    287
    forestrf, brokenm and echeg like this.
  4. echeg

    echeg

    Joined:
    Aug 1, 2012
    Posts:
    90
    thx!
     
  5. echeg

    echeg

    Joined:
    Aug 1, 2012
    Posts:
    90
    Can you help with advice on what to do. We disabled Burst and switch from mono to il2cpp.
    And if there was a crash before
    at lib_burst_generated.00011a2c (Native Method)

    Then now we could see logs like:

    Code (CSharp):
    1. Thread 0 (crashed)
    2. 0   libunity.so                        0x00000073cd9cbb90 CrashReporting::Android::SignalHandler(int, siginfo*, void*)
    3. 1   libunity.so                        0x00000073cd4e4da8 NativeRuntimeException::signal_handler(int, siginfo*, void*)
    4. 2   app_process64                      0x00000061d7023bf8 <system symbols missing>
    5. 3   [vdso]                             0x000000746dd0b690 <system symbols missing>
    6. 4   libil2cpp.so                       0x00000073c712b4a0 ArchetypeChunk_get_Count_mDA1C82AEE8602D5D742B61D43A287053143AD4F3
    7. 5   libil2cpp.so                       0x00000073c6aab814 JobStruct_Process_CC_3_ExecuteChunk_mACCEA17563D529EA8DA18EAC81733FBC21B1E219_gshared
    8. 6   libil2cpp.so                       0x00000073c6aab70c JobStruct_Process_CC_3_Execute_m4FEDB7172A926E300F9BB75DE612D93F8406CEA9_gshared
    9. 7   libil2cpp.so                       0x00000073c6aab2a8 ExecuteJobFunction_Invoke_mEF8BE63FC98FEE0BFE94208656470D752351FDBA_gshared
    10. 8   libil2cpp.so                       0x00000073c6878068 RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017_VoidU2A_t3A9D5EB5A83DC9C93DF2C4D6EA67B0F5E885889A_IntPtr_t_IntPtr_t_VoidU2A_t3A9D5EB5A83DC9C93DF2C4D6EA67B0F5E885889A_Int32_t585191389E07734F19F3156FF88FB3EF4800D102(void (*)(), MethodInfo const*, void*, void**)
    11. 9   libil2cpp.so                       0x00000073c69d6b94 il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)
    12. 10  libunity.so                        0x00000073cd54d9a8 scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool)
    13. 11  libunity.so                        0x00000073cd53edf8 ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
    14. 12  libunity.so                        0x00000073cd5ed698 SetJobCompilerEnabled(bool)
    15. 13  libunity.so                        0x00000073cd5ecc24 ScheduleManagedJob(JobScheduleParameters const&)
    16. 14  libunity.so                        0x00000073cd5ee258 JobQueue::Exec(JobInfo*, long long, int)
    17. 15  libunity.so                        0x00000073cd5ef03c JobQueue::WaitForJobGroupID(JobGroupID, JobQueue::JobQueueWorkStealFlags)
    18. 16  libunity.so                        0x00000073cd5f12d4 CompleteFenceInternal(JobFence&, WorkStealFlags)
    19. 17  libunity.so                        0x00000073cd4bae04 JobHandle_CUSTOM_ScheduleBatchedJobsAndComplete(JobFence&)
    20. 18  libil2cpp.so                       0x00000073c71354c8 ComponentJobSafetyManager_CompleteReadAndWriteDependencyNoChecks_m2C2E448A9A01E836EA0D96217453047A747743E5
    21. 19  libil2cpp.so                       0x00000073c70c4b68 EntityManager_SetComponentDataRaw_mA865897FDD32553001C90BC4A2CBEB3E061700AD
    22. 20  libil2cpp.so                       0x00000073c7256f78 EntityCommandBuffer_PlaybackChain_mE434D5200526FD089A5835D88054F705B6127C3D
    23. 21  libil2cpp.so                       0x00000073c7256600 EntityCommandBuffer_Playback_m794DA5FE5052C1006886B407387E72459713B5B1
    24. 22  libil2cpp.so                       0x00000073c7135e6c ComponentSystem_AfterOnUpdate_mC7F85D3C4165C75BF171E4EE61B5553F2AE907F4
    25. 23  libil2cpp.so                       0x00000073c6b318bc GameController_Execute_m55F692BAA2B4C52691DF37AC2095B9E73A02B41F
    26. 24  libil2cpp.so                       0x00000073c6b316e8 GameController_Update_mC04873FE3A438216BB5191075601DABBC27E9F6F
    27. 25  libil2cpp.so                       0x00000073c6761a20 RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017(void (*)(), MethodInfo const*, void*, void**)
    28. 26  libil2cpp.so                       0x00000073c69d6b94 il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**)
    29. 27  libunity.so                        0x00000073cd54d9a8 scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool)
    30. 28  libunity.so                        0x00000073cd53edf8 ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool)
    31. 29  libunity.so                        0x00000073cd5397f4 MonoBehaviour::CallUpdateMethod(int)
    32. 30  libunity.so                        0x00000073cd65db68 void BaseBehaviourManager::CommonUpdate<BehaviourManager>()
    33. 31  libunity.so                        0x00000073cd5cb1a4 ExecutePlayerLoop(NativePlayerLoopSystem*)
    34. 32  libunity.so                        0x00000073cd5cb1d8 ExecutePlayerLoop(NativePlayerLoopSystem*)
    35. 33  libunity.so                        0x00000073cd5cb3ac PlayerLoop()
    36. 34  libunity.so                        0x00000073cd4e2f08 UnityPlayerLoop()
    37. 35  libunity.so                        0x00000073cd4dcec8 nativeRender(_JNIEnv*, _jobject*)
    38. 36  base.odex                          0x00000073ce8930d0 <system symbols missing>
    How to know what is:
    Code (CSharp):
    1. ArchetypeChunk_get_Count_mDA1C82AEE8602D5D742B61D43A287053143AD4F3
    2. 5   libil2cpp.so                       0x00000073c6aab814 JobStruct_Process_CC_3_ExecuteChunk_mACCEA17563D529EA8DA18EAC81733FBC21B1E219_gshared
    The main problem is that everything is fine in the editor. We have tests that simulate hundreds of levels. But on the device some random crashes...
     
  6. echeg

    echeg

    Joined:
    Aug 1, 2012
    Posts:
    90
    I found all the methods but I don’t understand crash reason
    My research

    Code (CSharp):
    1.  
    2. 7   libil2cpp.so                       0x000000762ae762a8 ExecuteJobFunction_Invoke_mEF8BE63FC98FEE0BFE94208656470D752351FDBA_gshared
    3.  
    ->
    Code (CSharp):
    1.  
    2. // System.Void Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3_ExecuteJobFunction<ArcanoidWars.Unity.ECS.SpellMoveSystem_MoveJob,ArcanoidWars.Unity.ECS.SpellVelocity,ArcanoidWars.Unity.ECS.SpellPos>::Invoke(Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<T,T0,T1>&,System.IntPtr,System.IntPtr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,System.Int32)
    3. IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void ExecuteJobFunction_Invoke_mEF8BE63FC98FEE0BFE94208656470D752351FDBA_gshared (ExecuteJobFunction_t1154D614B02FF848F4AC80848F0CD399AE4BED75 * __this, JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * ___data0, intptr_t ___additionalPtr1, intptr_t ___bufferRangePatchData2, JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 * ___ranges3, int32_t ___jobIndex4, const RuntimeMethod* method)
    4. {
    5.  
    ->
    Code (CSharp):
    1.     [UpdateBefore(typeof(SpellSpawnV3System))]
    2.     public class SpellMoveSystem : JobComponentSystem
    3.     {
    4.         [BurstCompile]
    5.         private struct MoveJob : IJobForEach<SpellVelocity, SpellPos>
    6.         {
    7.             public int Run;
    8.          
    9.             public void Execute(
    10.                 [ReadOnly] ref SpellVelocity vel,
    11.                 ref SpellPos pos)
    12.             {
    13.                 if (Run==1)
    14.                 {
    15.                     pos.Value = pos.Value + vel.Value;
    16.                 }
    17.             }
    18.         }
    19.  
    20.         private int _lastTick = -1;
    21.         protected override JobHandle OnUpdate(JobHandle inputDeps)
    22.         {
    23.             var tick = GetSingleton<Tick>();
    24.             var run = _lastTick != tick.Value?1:0;
    25.             _lastTick = tick.Value;
    26.          
    27.             return new MoveJob
    28.             {
    29.                 Run = run
    30.             }.ScheduleSingle(this, inputDeps);
    31.         }
    32.     }
    Code (csharp):
    1.  
    2. libil2cpp.so                       0x000000762ae7670c JobStruct_Process_CC_3_Execute_m4FEDB7172A926E300F9BB75DE612D93F8406CEA9_gshared
    3.  
    Code (csharp):
    1.  
    2. // System.Void Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<ArcanoidWars.Unity.ECS.SpellMoveSystem_MoveJob,ArcanoidWars.Unity.ECS.SpellVelocity,ArcanoidWars.Unity.ECS.SpellPos>::Execute(Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<T,T0,T1>&,System.IntPtr,System.IntPtr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,System.Int32)
    3. IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void JobStruct_Process_CC_3_Execute_m4FEDB7172A926E300F9BB75DE612D93F8406CEA9_gshared (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * ___jobData0, intptr_t ___additionalPtr1, intptr_t ___bufferRangePatchData2, JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 * ___ranges3, int32_t ___jobIndex4, const RuntimeMethod* method)
    4. {
    5.     ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * V_0 = NULL;
    6.     int32_t* V_1 = NULL;
    7.     int32_t V_2 = 0;
    8.     int32_t V_3 = 0;
    9.     int32_t V_4 = 0;
    10.     {
    11.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_0 = ___jobData0;
    12.         NativeArray_1_tB942A78CFAC276F95E8B08EBB94DF670FFAA0405  L_1 = (NativeArray_1_tB942A78CFAC276F95E8B08EBB94DF670FFAA0405 )L_0->get_PrefilterData_2();
    13.         ComponentChunkIterator_UnpackPrefilterData_m3484D59BA7F60D16904531A30F945970D33E22B5((NativeArray_1_tB942A78CFAC276F95E8B08EBB94DF670FFAA0405 )L_1, (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 **)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 **)(&V_0), (int32_t**)(int32_t**)(&V_1), (int32_t*)(int32_t*)(&V_2), /*hidden argument*/NULL);
    14.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_2 = ___jobData0;
    15.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_3 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_2->get_address_of_Iterator_0();
    16.         bool L_4 = (bool)L_3->get_m_IsParallelFor_13();
    17.         if (!L_4)
    18.         {
    19.             goto IL_003b;
    20.         }
    21.     }
    22.     {
    23.         goto IL_002c;
    24.     }
    25. IL_0020:
    26.     {
    27.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_5 = ___jobData0;
    28.         intptr_t L_6 = ___bufferRangePatchData2;
    29.         int32_t L_7 = V_3;
    30.         int32_t L_8 = V_4;
    31.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * L_9 = V_0;
    32.         int32_t* L_10 = V_1;
    33.         ((  void (*) (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *, intptr_t, int32_t, int32_t, ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *, int32_t*, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5)->methodPointer)((JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)(JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)L_5, (intptr_t)L_6, (int32_t)L_7, (int32_t)L_8, (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)L_9, (int32_t*)(int32_t*)L_10, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5));
    34.     }
    35. IL_002c:
    36.     {
    37.         JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 * L_11 = ___ranges3;
    38.         int32_t L_12 = ___jobIndex4;
    39.         bool L_13 = JobsUtility_GetWorkStealingRange_m760093A79807BC4741E89A98A6192D41D5451A04((JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 *)(JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 *)L_11, (int32_t)L_12, (int32_t*)(int32_t*)(&V_3), (int32_t*)(int32_t*)(&V_4), /*hidden argument*/NULL);
    40.         if (L_13)
    41.         {
    42.             goto IL_0020;
    43.         }
    44.     }
    45.     {
    46.         return;
    47.     }
    48. IL_003b:
    49.     {
    50.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_14 = ___jobData0;
    51.         intptr_t L_15 = ___bufferRangePatchData2;
    52.         int32_t L_16 = V_2;
    53.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * L_17 = V_0;
    54.         int32_t* L_18 = V_1;
    55.         ((  void (*) (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *, intptr_t, int32_t, int32_t, ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *, int32_t*, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5)->methodPointer)((JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)(JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)L_14, (intptr_t)L_15, (int32_t)0, (int32_t)L_16, (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)L_17, (int32_t*)(int32_t*)L_18, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5));
    56.         return;
    57.     }
    58. }
    59.  
    Code (csharp):
    1.  
    2. 5   libil2cpp.so                       0x000000762ae76814 JobStruct_Process_CC_3_ExecuteChunk_mACCEA17563D529EA8DA18EAC81733FBC21B1E219_gshared
    3.  
    Code (csharp):
    1.  
    2. // System.Void Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<ArcanoidWars.Unity.ECS.SpellMoveSystem_MoveJob,ArcanoidWars.Unity.ECS.SpellVelocity,ArcanoidWars.Unity.ECS.SpellPos>::ExecuteChunk(Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<T,T0,T1>&,System.IntPtr,System.Int32,System.Int32,Unity.Entities.ArchetypeChunk*,System.Int32*)
    3. IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void JobStruct_Process_CC_3_ExecuteChunk_mACCEA17563D529EA8DA18EAC81733FBC21B1E219_gshared (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * ___jobData0, intptr_t ___bufferRangePatchData1, int32_t ___begin2, int32_t ___end3, ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * ___chunks4, int32_t* ___entityIndices5, const RuntimeMethod* method)
    4. {
    5.     int32_t V_0 = 0;
    6.     int32_t V_1 = 0;
    7.     int32_t V_2 = 0;
    8.     ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26  V_3;
    9.     memset((&V_3), 0, sizeof(V_3));
    10.     int32_t V_4 = 0;
    11.     void* V_5 = NULL;
    12.     void* V_6 = NULL;
    13.     int32_t V_7 = 0;
    14.     {
    15.         V_0 = (int32_t)0;
    16.         V_1 = (int32_t)0;
    17.         int32_t L_0 = ___begin2;
    18.         V_2 = (int32_t)L_0;
    19.         goto IL_00f9;
    20.     }
    21. IL_000b:
    22.     {
    23.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * L_1 = ___chunks4;
    24.         int32_t L_2 = V_2;
    25.         uint32_t L_3 = sizeof(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 );
    26.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26  L_4 = (*(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)((ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)il2cpp_codegen_add((intptr_t)L_1, (intptr_t)((intptr_t)il2cpp_codegen_multiply((intptr_t)(((intptr_t)L_2)), (int32_t)L_3)))));
    27.         V_3 = (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 )L_4;
    28.         int32_t* L_5 = ___entityIndices5;
    29.         int32_t L_6 = V_2;
    30.         int32_t L_7 = *((int32_t*)((int32_t*)il2cpp_codegen_add((intptr_t)L_5, (intptr_t)((intptr_t)il2cpp_codegen_multiply((intptr_t)(((intptr_t)L_6)), (int32_t)4)))));
    31.         int32_t L_8 = ArchetypeChunk_get_Count_mDA1C82AEE8602D5D742B61D43A287053143AD4F3((ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(&V_3), /*hidden argument*/NULL);
    32.         V_4 = (int32_t)L_8;
    33.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26  L_9 = V_3;
    34.         Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_10 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_9.get_m_Chunk_0();
    35.         NullCheck(L_10);
    36.         Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 * L_11 = (Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_10->get_Archetype_0();
    37.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_12 = ___jobData0;
    38.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_13 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_12->get_address_of_Iterator_0();
    39.         int32_t L_14 = (int32_t)L_13->get_TypeIndex0_1();
    40.         ChunkDataUtility_GetIndexInTypeArray_m49E27315BD05861F6E380D61715D115CEC950056((Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)(Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_11, (int32_t)L_14, (int32_t*)(int32_t*)(&V_0), /*hidden argument*/NULL);
    41.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26  L_15 = V_3;
    42.         Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_16 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_15.get_m_Chunk_0();
    43.         NullCheck(L_16);
    44.         Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 * L_17 = (Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_16->get_Archetype_0();
    45.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_18 = ___jobData0;
    46.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_19 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_18->get_address_of_Iterator_0();
    47.         int32_t L_20 = (int32_t)L_19->get_TypeIndex1_2();
    48.         ChunkDataUtility_GetIndexInTypeArray_m49E27315BD05861F6E380D61715D115CEC950056((Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)(Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_17, (int32_t)L_20, (int32_t*)(int32_t*)(&V_1), /*hidden argument*/NULL);
    49.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26  L_21 = V_3;
    50.         Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_22 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_21.get_m_Chunk_0();
    51.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_23 = ___jobData0;
    52.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_24 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_23->get_address_of_Iterator_0();
    53.         int32_t L_25 = (int32_t)L_24->get_IsReadOnly0_7();
    54.         int32_t L_26 = V_0;
    55.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_27 = ___jobData0;
    56.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_28 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_27->get_address_of_Iterator_0();
    57.         uint32_t L_29 = (uint32_t)L_28->get_GlobalSystemVersion_0();
    58.         void* L_30 = ComponentChunkIterator_GetChunkComponentDataPtr_m11D5CB65A1F1E83C1CE7C41272488DC16E26093A((Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)(Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_22, (bool)((((int32_t)L_25) == ((int32_t)0))? 1 : 0), (int32_t)L_26, (uint32_t)L_29, /*hidden argument*/NULL);
    59.         void* L_31 = UnsafeUtilityEx_RestrictNoAlias_mB436834BAD3ABE4CE8216130508829BA93A38E56((void*)(void*)L_30, /*hidden argument*/NULL);
    60.         V_5 = (void*)L_31;
    61.         ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26  L_32 = V_3;
    62.         Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_33 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_32.get_m_Chunk_0();
    63.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_34 = ___jobData0;
    64.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_35 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_34->get_address_of_Iterator_0();
    65.         int32_t L_36 = (int32_t)L_35->get_IsReadOnly1_8();
    66.         int32_t L_37 = V_1;
    67.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_38 = ___jobData0;
    68.         ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_39 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_38->get_address_of_Iterator_0();
    69.         uint32_t L_40 = (uint32_t)L_39->get_GlobalSystemVersion_0();
    70.         void* L_41 = ComponentChunkIterator_GetChunkComponentDataPtr_m11D5CB65A1F1E83C1CE7C41272488DC16E26093A((Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)(Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_33, (bool)((((int32_t)L_36) == ((int32_t)0))? 1 : 0), (int32_t)L_37, (uint32_t)L_40, /*hidden argument*/NULL);
    71.         void* L_42 = UnsafeUtilityEx_RestrictNoAlias_mB436834BAD3ABE4CE8216130508829BA93A38E56((void*)(void*)L_41, /*hidden argument*/NULL);
    72.         V_6 = (void*)L_42;
    73.         V_7 = (int32_t)0;
    74.         goto IL_00ef;
    75.     }
    76. IL_00c6:
    77.     {
    78.         JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_43 = ___jobData0;
    79.         MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C * L_44 = (MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C *)L_43->get_address_of_Data_1();
    80.         void* L_45 = V_5;
    81.         int32_t L_46 = V_7;
    82.         SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC * L_47 = ((  SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC * (*) (void*, int32_t, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 7)->methodPointer)((void*)(void*)L_45, (int32_t)L_46, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 7));
    83.         void* L_48 = V_6;
    84.         int32_t L_49 = V_7;
    85.         SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 * L_50 = ((  SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 * (*) (void*, int32_t, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 8)->methodPointer)((void*)(void*)L_48, (int32_t)L_49, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 8));
    86.         MoveJob_Execute_m41B0C237EB3D142760561BEE2E97E982A75FACA0((MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C *)(MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C *)L_44, (SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC *)(SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC *)L_47, (SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 *)(SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 *)L_50, /*hidden argument*/NULL);
    87.         int32_t L_51 = V_7;
    88.         V_7 = (int32_t)((int32_t)il2cpp_codegen_add((int32_t)L_51, (int32_t)1));
    89.     }
    90. IL_00ef:
    91.     {
    92.         int32_t L_52 = V_7;
    93.         int32_t L_53 = V_4;
    94.         if ((!(((uint32_t)L_52) == ((uint32_t)L_53))))
    95.         {
    96.             goto IL_00c6;
    97.         }
    98.     }
    99.     {
    100.         int32_t L_54 = V_2;
    101.         V_2 = (int32_t)((int32_t)il2cpp_codegen_add((int32_t)L_54, (int32_t)1));
    102.     }
    103. IL_00f9:
    104.     {
    105.         int32_t L_55 = V_2;
    106.         int32_t L_56 = ___end3;
    107.         if ((!(((uint32_t)L_55) == ((uint32_t)L_56))))
    108.         {
    109.             goto IL_000b;
    110.         }
    111.     }
    112.     {
    113.         return;
    114.     }
    115. }
    116.  
    Code (csharp):
    1.  
    2. // System.Int32 Unity.Entities.ArchetypeChunk::get_Count()
    3. IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR int32_t ArchetypeChunk_get_Count_mDA1C82AEE8602D5D742B61D43A287053143AD4F3 (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * __this, const RuntimeMethod* method)
    4. {
    5.     {
    6.         Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_0 = __this->get_m_Chunk_0();
    7.         NullCheck(L_0);
    8.         int32_t L_1 = L_0->get_Count_2();
    9.         return L_1;
    10.     }
    11. }
    12. [code]
     
  7. sschoener

    sschoener

    Joined:
    Aug 18, 2014
    Posts:
    73
    I'm not sure I can help you with the new problem, but for future reference: Here is an explanation of how to find out how the hashes in the log map to the jobs compiled by Burst.
     
    echeg likes this.
  8. echeg

    echeg

    Joined:
    Aug 1, 2012
    Posts:
    90
    Yes it is useful. But we disable burst ) And have "normal" il2cpp crash. il2cpp generate project_path\Temp\StagingArea\Il2Cpp\il2cppOutput and we found all methods.
    But thanks so we can explore burst crash