Graph scan crashes the app on Android

Also having this problem.

Here’s one thread in Unity on it:

https://forum.unity3d.com/threads/physx-crash-on-android-only-physics_custom_internal_call_checkcapsule.331106/

They basically refuse to fix it without a repro case, “play my huge game until my 3rd party pathfinder randomly causes this crash” isn’t really a repro case, so I doubt Unity will ever fix it.

Seems like the pathfinder need to work around this issue? Switch the capsule test to multiple sphere tests? idk…

Hello,

I just wanted to report that we’re also fighting with this issue. Unity 5.5.3f1 and AStar 3.8.1. This is the crash log:

E/CRASH (29284): #11 pc 0000b8ec ( (wrapper managed-to-native) UnityEngine.Physics:INTERNAL_CALL_CheckCapsule (UnityEngine.Vector3&,UnityEngine.Vector3&,single,int,UnityEngine.QueryTriggerInteraction) + 0x6c (0x9f05a880 0x9f05a930) [0xa3f1eee0 - Unity Root Domain]+47340)

E/CRASH (29284): #12 il … at (wrapper managed-to-native) UnityEngine.Physics.INTERNAL_CALL_CheckCapsule (UnityEngine.Vector3&,UnityEngine.Vector3&,single,int,UnityEngine.QueryTriggerInteraction) <0xffffffff>
E/CRASH (29284): #13 il 0000006c at UnityEngine.Physics.CheckCapsule (UnityEngine.Vector3,UnityEngine.Vector3,single,int) <0x0006c>
E/CRASH (29284): #14 il 00000247 at Pathfinding.GraphCollision.Check (UnityEngine.Vector3) <0x00247>
E/CRASH (29284): #15 il 00000427 at Pathfinding.GridGraph.UpdateNodePositionCollision (Pathfinding.GridNode,int,int,bool) <0x00427>
E/CRASH (29284): #16 il 0000035b at Pathfinding.GridGraph.ScanInternal (OnScanStatus) <0x0035b>
E/CRASH (29284): #17 il 00000a43 at AstarPath.ScanLoop (OnScanStatus) <0x00a43>
E/CRASH (29284): #18 il 0000001f at AstarPath.Scan () <0x0001f>
E/CRASH (29284): #19 il 00000623 at AstarPath.Awake () <0x00623>

Later in the same log:

E/AndroidRuntime(29284): FATAL EXCEPTION: UnityMain

E/AndroidRuntime(29284): Process: be.diekeure.kweetet, PID: 29284

E/AndroidRuntime(29284): java.lang.Error: FATAL EXCEPTION [UnityMain]

E/AndroidRuntime(29284): Unity version : 5.5.3f1

E/AndroidRuntime(29284): Device model : LENOVO Lenovo TB2-X30F

E/AndroidRuntime(29284): Device fingerprint: Lenovo/TB2-X30F/TB2-X30F:5.1.1/LenovoTB2-X30F/TB2-X30F_S000014_151118_ROW:user/release-keys

E/AndroidRuntime(29284):

E/AndroidRuntime(29284): Caused by: java.lang.Error: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 004a0048

E/AndroidRuntime(29284): Build fingerprint: ‘Lenovo/TB2-X30F/TB2-X30F:5.1.1/LenovoTB2-X30F/TB2-X30F_S000014_151118_ROW:user/release-keys’

E/AndroidRuntime(29284): Revision: ‘0’

E/AndroidRuntime(29284): pid: 29284, tid: 29302, name: UnityMain >>> be.diekeure.kweetet <<<

E/AndroidRuntime(29284): r0 a48dc0d4 r1 b9b1a480 r2 004a0049 r3 b9a24c00

E/AndroidRuntime(29284): r4 a48dcb88 r5 a48dcbe8 r6 b9b1a480 r7 b9a24c00

E/AndroidRuntime(29284): r8 baa49550 r9 00000000 sl 00000000 fp a48dc9e8

E/AndroidRuntime(29284): ip a4e298e8 sp a48dc0c0 lr a4e29920 pc 004a0048 cpsr 3242546f

E/AndroidRuntime(29284):

E/AndroidRuntime(29284): at Unknown.004a0048(Unknown Source)

E/AndroidRuntime(29284): at libunity.0044b91c(Native Method)

E/AndroidRuntime(29284): at libunity.00ba1e60(Native Method)

E/AndroidRuntime(29284): at libunity.00cc3d40(Native Method)

E/AndroidRuntime(29284): at libunity.00cc9270(Native Method)

E/AndroidRuntime(29284): at libunity.00cbcc38(Native Method)

E/AndroidRuntime(29284): at libunity.00ba360c(Native Method)

E/AndroidRuntime(29284): at libunity.00ba3c74(Native Method)

E/AndroidRuntime(29284): at libunity.0042dce0(Native Method)

E/AndroidRuntime(29284): at libunity.0042dbac(Native Method)

E/AndroidRuntime(29284): at libunity.00661f34(Native Method)

E/AndroidRuntime(29284): at Unknown.0000b8ec(Unknown Source)

E/AndroidRuntime(29284): at Physics.INTERNAL_CALL_CheckCapsule(Native Method)

E/AndroidRuntime(29284): at Physics.CheckCapsule(<0x0006c>:108)

E/AndroidRuntime(29284): at GraphCollision.Check(<0x00247>:583)

E/AndroidRuntime(29284): at GridGraph.UpdateNodePositionCollision(<0x00427>:1063)

E/AndroidRuntime(29284): at GridGraph.ScanInternal(<0x0035b>:859)

E/AndroidRuntime(29284): at AstarPath.ScanLoop(<0x00a43>:2627)

E/AndroidRuntime(29284): at AstarPath.Scan(<0x0001f>:31)

E/AndroidRuntime(29284): at AstarPath.Awake(<0x00623>:1571)

E/AndroidRuntime(29284): at Object.runtime_invoke_void__this__(Native Method)

E/AndroidRuntime(29284): at libmono.00021d6b(Native Method)

E/AndroidRuntime(29284): at libmono.mono_runtime_invoke(mono_runtime_invoke:136)

E/AndroidRuntime(29284): at libunity.004ad084(Native Method)

E/AndroidRuntime(29284): at libunity.00470198(Native Method)

E/AndroidRuntime(29284): at libunity.00470540(Native Method)

E/AndroidRuntime(29284): at libunity.004700b0(Native Method)

E/AndroidRuntime(29284): at libunity.004b0b7c(Native Method)

E/AndroidRuntime(29284): at libunity.0032f964(Native Method)

E/AndroidRuntime(29284): at libunity.0032f558(Native Method)

E/AndroidRuntime(29284): at libunity.0032f334(Native Method)

E/AndroidRuntime(29284): at libunity.003301e0(Native Method)

We had a previous case of this problem and then it was caused by two capsulecolliders on the same position, maybe that helps to find a solution?

Thx,
Alex