Beta - agent stuck on navmesh edge

I didn’t see this happen so not entirely sure of the sequence of events but…

Using followerEntity, the navmesh was cut by a building being placed. The agent has been going to and from it for a while (building it) and in this case the agent is now stuck on the edge of the cut when trying to move away from it.

It was also throwing endless errors:

System.IndexOutOfRangeException: Invalid allocation 
This Exception was thrown from a job compiled with Burst, which has limited exception support.
0x00007ffa32c2c88f (dd6c41af420c1fa79008be595a831f4) Pathfinding.NavmeshEdges.NavmeshEdgeData.GetHierarchicalNodesInRangeRec (at D:/__UnityProjects/SOI_2020.3.8f1_LTS_v2021/SOI_2020.3.8f1_LTS_v2021/Library/PackageCache/com.unity.burst@1.8.7/.Runtime/Library/PackageCache/com.arongranberg.astar@4.3.76/Core/Misc/NavmeshEdges.cs:242)
0x00007ffa32c32808 (dd6c41af420c1fa79008be595a831f4) Pathfinding.RVO.Sampled.JobRVO`1<Pathfinding.RVO.XZMovementPlane>.GenerateObstacleVOs (at D:/__UnityProjects/SOI_2020.3.8f1_LTS_v2021/SOI_2020.3.8f1_LTS_v2021/Library/PackageCache/com.unity.burst@1.8.7/.Runtime/Library/PackageCache/com.arongranberg.astar@4.3.76/Core/RVO/RVOAgentBurst.cs:825)
0x00007ffa32c2df44 (dd6c41af420c1fa79008be595a831f4) Pathfinding.RVO.Sampled.JobRVO`1<Pathfinding.RVO.XZMovementPlane>.ExecuteORCA (at D:/__UnityProjects/SOI_2020.3.8f1_LTS_v2021/SOI_2020.3.8f1_LTS_v2021/Library/PackageCache/com.unity.burst@1.8.7/.Runtime/Library/PackageCache/com.arongranberg.astar@4.3.76/Core/RVO/RVOAgentBurst.cs:1247)
0x00007ffa32c2c286 (dd6c41af420c1fa79008be595a831f4) Pathfinding.Jobs.JobParallelForBatchedExtensions.ParallelForBatchJobStruct`1<Pathfinding.RVO.Sampled.JobRVO`1<Pathfinding.RVO.XZMovementPlane>>.Execute(ref Pathfinding.RVO.Sampled.JobRVO`1<Pathfinding.RVO.XZMovementPlane> jobData, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex) -> void_8633849924189afc0e68e8607bb27842 from AstarPathfindingProject, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null (at D:/__UnityProjects/SOI_2020.3.8f1_LTS_v2021/SOI_2020.3.8f1_LTS_v2021/Library/PackageCache/com.unity.burst@1.8.7/.Runtime/Library/PackageCache/com.arongranberg.astar@4.3.76/Utilities/IJobParallelForBatched.cs:42)
0x00007ffa32c2a6b6 (dd6c41af420c1fa79008be595a831f4) 906909cd62835d28eb9a35bbf6591c6e
0x00007ff7afb5c8bc (Unity) ExecuteJob
0x00007ff7afb5cc24 (Unity) ExecuteJobCopyData
0x00007ff7afb5d93f (Unity) ForwardJobForEachToManaged
0x00007ff7afb59b0e (Unity) ujob_execute_job
0x00007ff7afb58fc4 (Unity) lane_guts
0x00007ff7afb5bb24 (Unity) worker_thread_routine
0x00007ff7afd889a7 (Unity) Thread::RunThreadWrapper
0x00007ffa64f47614 (KERNEL32) BaseThreadInitThunk
0x00007ffa65c626f1 (ntdll) RtlUserThreadStart

The agent did eventually recover by themselves and continued on with their tasks and the errors stopped.

Hi

Can you replicate this error message?

I haven’t seen it happen again with .79 but I’ll bring this up again if I see the same/similar errors related to agents getting stuck like that.

My biggest problem with these errors is they CRASH builds with burst compilation on. Anyway for to you add more graceful error handling so the error is at least handled in some fashion? Until these issues are resolve I can’t use followerEntity because it crashes instead of just throwing errors.

I’m still getting the Invalid allocation errors with .79 but I’ll bring that up in my other post about it since this post was more about the agent getting stuck.

Burst and the job system is notoriously hard to add graceful error handling to, unfortunately.
I’ll try to iron out these bugs as fast as possible, though. It will be faster the easier it is for me to reproduce the errors.