Crash on change Scene

Hello!

In my mobile game there are some scenes, each one with A* recast graph, that is recalculated on start.
In device or emulator (bluestacks) sometimes it crashes (when you have changed scene some times)

We are using Unity 2019.2.6f1
A* version is 4.2.8

Thanks in advance, any hint is much appreciated =)

Greetings.

Thread 0 (crashed)
0   libunity.so                        0x000000000473537e CrashReporting::Android::SignalHandler(int, siginfo*, void*) 
1   libunity.so                        0x00000000042d62e6 NativeRuntimeException::signal_handler(int, siginfo*, void*) 
2   libc.so                            0x000000000c517628 <system symbols missing> 
3   libil2cpp.so                       0x0000000006292740 il2cpp::vm::Array::NewSpecific(Il2CppClass*, unsigned int) 
4   libil2cpp.so                       0x0000000006cf68b4 VoxelArea__ctor_m96C257A9DEC3BA562B93928F2C071720E08E1057 
5   libil2cpp.so                       0x0000000006cfedf4 Voxelize_Init_m12B6E301724176A312EFDD47D8C53ECBC9315C7B 
6   libil2cpp.so                       0x000000000661cec8 RecastGraph_BuildTileMesh_mC7DD7F8DC45E5267689CDB6B6D14ACAAD8E18A0E 
7   libil2cpp.so                       0x000000000661f24c U3CU3Ec__DisplayClass50_0_U3CScanAllTilesU3Eb__0_m362121FC53B14D54F354C3BC3F2B2B5EEE0E5B83 
8   libil2cpp.so                       0x0000000006bb2860 Action_2_Invoke_m2A2CD0DA3AAD5E09C8A559482E3C6E9C472781E0_gshared 
9   libil2cpp.so                       0x0000000006b9c554 ParallelWorkQueue_1_RunTask_m6B2120E872BF329416064FA55AA504E5A747B349_gshared 
10  libil2cpp.so                       0x0000000006724bf4 WaitCallback_Invoke_mB6A858A1792B8E0DE526C3C157624C1A59EEFA16 
11  libil2cpp.so                       0x00000000065d36ec ContextCallback_Invoke_m76E65E7A67AA99858554F451E0F78E22B6478998 
12  libil2cpp.so                       0x00000000065d4af8 ExecutionContext_RunInternal_m5BF955CE8B04D9A7C959B9011579CC0FABD5FC56 
13  libil2cpp.so                       0x00000000065d4958 ExecutionContext_Run_mFF76DDA6501D993EB4A4B79EFDAF1F6476920945 
14  libil2cpp.so                       0x00000000065d8d48 QueueUserWorkItemCallback_System_Threading_IThreadPoolWorkItem_ExecuteWorkItem_mD33E7C16157B06F9180AC65CB33208FE77F573F4 
15  libil2cpp.so                       0x0000000006721c9c ThreadPoolWorkQueue_Dispatch_mCDF7415E4C9D02B34761CAE8EA15CD33DDF85ADF 
16  libil2cpp.so                       0x000000000637e8bc RuntimeInvoker_FalseSByte_t9070AEA2966184235653CB9B4D33B149CDA831DF(void (*)(), MethodInfo const*, void*, void**) 
17  libil2cpp.so                       0x00000000062dee48 worker_thread(void*) 
18  libil2cpp.so                       0x00000000062abb48 il2cpp::vm::ThreadStart(void*) 
19  libil2cpp.so                       0x000000000628fb4c il2cpp::os::Thread::RunWrapper(void*) 
20  libil2cpp.so                       0x000000000628e830 il2cpp::os::ThreadImpl::ThreadStartWrapper(void*) 

Hi

It looks like it is crashing during an allocation. Is it possible you are running out of memory?

1 Like

Hi, thanks for your fast reply!

I think that not, because i am playing in bluestacks with 4096 MB, and is a mobile game…

And I have now tried to delay the: “AstarPath.active.Scan();” and still crashing

Is there an option to do the Scan in background smoothly?

THanks again

Yes, you can use AstarPath.active.ScanAsync() (this is a coroutine).

See https://arongranberg.com/astar/docs/astarpath.html#ScanAsync2

Though it is not necessarily smooth. It will go through a number of steps, but it does not necessarily guarantee a good frame rate.

1 Like

Oh thanks. And sorry for not looking first about this option. I am using your plugin in some games, but never needed to do such thing.

I am gonna try now and tell you results :slight_smile:

Still having the same crash, but this time lasted more scene changes.

This is a game, where there are like 4 scenes, and you are moving between them around 10-15 times in 20min.

The bounds size for the navmesh is max 60,20,60. Do you recommend me “Use Tiles” or do you have another kind of optimization tips for this scenario?

Thanks for your help

Hi

Could you post a screenshot of your graph settings?

1 Like

Here you have :slight_smile:

Well. That really shouldn’t use many megabytes at all when scanning. I would suggest that you try to monitor the memory usage of your app in some way though. Or otherwise if you can figure out what kind of signal the app is crashing with would be helpful.

1 Like

I have tried to reproduce crash in a tablet (connected to android studio), but there doesnt happen (with about 40+ scene changes). However the computer is much more powerful and runs out of memory?

Im gonna try in a low end device, and see what happens.

I’ve been testing on an old galaxy tab 4 that I had (from 5 years ago) and has no crashes.

Maybe is an emulator problem… I will keep this updated If I find a solution.

1 Like