I have been getting a crash lately, looking at it with dmp file. It seems to be Unity’s Navmesh that caused this. Project was very near being finished, yet this bug keeps popping up randomly. It may be related to Offmesh links that were auto-generated. Anyone else with the same issue?
Same here, please help
Yes, this is crashing unity very often for me, any solution? Im on unity 2021.1.12f1, its not fixed.
edit: trying 2021.2.0b1 will see how it goes.
@radiantboy Are you sure it’s still this crash? We’ve encountered a lot of these, but after upgrading to 2021.1.9f1 reports stopped coming. We’re now at 2021.1.12f1, no more errors encountered.
I can confirm that at least for us, this is fixed.
still crashing here on 2021.1.12f1, might be a slightly different bug
When it crashes, get “dmp” file, drop it into Visual Studio, click “Debug with Native Only” and check what’s on call stack.
Unity 2021.1.12f1:
LOG:
========== OUTPUTTING STACK TRACE ==================
0x00007FF7B068602A (Unity) WorldToTile
0x00007FF7B0680B05 (Unity) NavMeshQuery::MoveAlongSurface
0x00007FF7B0680984 (Unity) NavMeshQuery::MoveAlongSurface
0x00007FF7B0669CDC (Unity) PathCorridor::MovePosition
0x00007FF7B06717A6 (Unity) UpdateMoveJob
0x00007FF7AF47002C (Unity) JobQueue::Exec
0x00007FF7AF4702EA (Unity) JobQueue::ExecuteJobFromHighPriorityStack
0x00007FF7AF470876 (Unity) JobQueue::ProcessJobs
0x00007FF7AF47289F (Unity) JobQueue::WorkLoop
0x00007FF7AF62D24E (Unity) Thread::RunThreadWrapper
0x00007FFEFCE37034 (KERNEL32) BaseThreadInitThunk
0x00007FFEFE6C2651 (ntdll) RtlUserThreadStart
DMP:
Unity.exe!WorldToTile(struct NavMeshTile const &,class Vector3f const &) Unknown
Unity.exe!NavMeshQuery::MoveAlongSurface(unsigned __int64,class Vector3f const &,class Vector3f const &,class QueryFilter const *,class Vector3f *,unsigned __int64 *,int *,int,class NavMeshNodePool *) Unknown
Unity.exe!NavMeshQuery::MoveAlongSurface(unsigned __int64,class Vector3f const &,class Vector3f const &,class QueryFilter const *,class Vector3f *,unsigned __int64 *,int *,int) Unknown
Unity.exe!PathCorridor::MovePosition(class Vector3f const &,class NavMeshQuery const *,class QueryFilter const *) Unknown
Unity.exe!UpdateMoveJob(struct CrowdInfo *,unsigned int) Unknown
Unity.exe!JobQueue::Exec(struct JobInfo *,__int64,int,bool) Unknown
Unity.exe!JobQueue::ExecuteJobFromHighPriorityStack(bool) Unknown
Unity.exe!JobQueue::ProcessJobs(struct JobQueue::ThreadInfo *,void *) Unknown
Unity.exe!JobQueue::WorkLoop(void *) Unknown
Unity.exe!Thread::RunThreadWrapper(void *) Unknown
kernel32.dll!00007ffefce37034() Unknown
ntdll.dll!00007ffefe6c2651() Unknown
Seems like exactly the same thing as before. Maybe report the issue and include the dmp file so they can easily fix it…
Thanks. I wonder why its ok for you guys? Do you use navMeshObstacles, or NavMeshLinks?
Argggh…
new dmp :
Unity.exe!winutils::CrashHandler:efaultSignalHandler(int) Unknown
Unity.exe!HandleSignal() Unknown
Unity.exe!_seh_filter_exe() Unknown
Unity.exe!__scrt_common_main_seh'::
1’::filt$0() Unknown
Unity.exe!__C_specific_handler() Unknown
ntdll.dll!00007ff87a4b217f() Unknown
ntdll.dll!00007ff87a461454() Unknown
ntdll.dll!00007ff87a4b0cae() Unknown
Unity.exe!WorldToTile(struct NavMeshTile const &,class Vector3f const &) Unknown
Unity.exe!NavMeshQuery::MoveAlongSurface(unsigned __int64,class Vector3f const &,class Vector3f const &,class QueryFilter const *,class Vector3f *,unsigned __int64 *,int *,int,class NavMeshNodePool *) Unknown
Unity.exe!NavMeshQuery::MoveAlongSurface(unsigned __int64,class Vector3f const &,class Vector3f const &,class QueryFilter const *,class Vector3f *,unsigned __int64 *,int *,int) Unknown
Unity.exe!PathCorridor::MovePosition(class Vector3f const &,class NavMeshQuery const *,class QueryFilter const *) Unknown
Unity.exe!UpdateMoveJob(struct CrowdInfo *,unsigned int) Unknown
Unity.exe!JobQueue::Exec(struct JobInfo *,__int64,int,bool) Unknown
Unity.exe!JobQueue::WaitForJobGroupID(struct JobGroupID,enum JobQueue::JobQueueWorkStealMode) Unknown
Unity.exe!CompleteFenceInternal(struct JobFence &,enum WorkStealMode) Unknown
Unity.exe!CrowdUpdateMultiThreaded(struct ReadonlyCrowdInfo const &,struct UpdateCrowdInfo &,class CrowdManager *,class NavMeshQuery * *,float) Unknown
Unity.exe!CrowdManager::Update(float,struct CrowdAgentDebugInfo *,int) Unknown
Unity.exe!NavMeshManager::UpdateCrowdSystem(void) Unknown
Unity.exe!NavMeshManager::Update(void) Unknown
Unity.exe!InitializeNavMeshManager'::
2’::PreUpdateAIUpdateRegistrator::Forward() Unknown
Unity.exe!ExecutePlayerLoop(struct NativePlayerLoopSystem *) Unknown
Unity.exe!ExecutePlayerLoop(struct NativePlayerLoopSystem *) Unknown
Unity.exe!PlayerLoop(void) Unknown
Unity.exe!PlayerLoopController::UpdateScene(bool) Unknown
Unity.exe!Application::TickTimer(void) Unknown
Unity.exe!MainMessageLoop() Unknown
Unity.exe!WinMain() Unknown
Unity.exe!__scrt_common_main_seh() Unknown
kernel32.dll!00007ff878607034() Unknown
ntdll.dll!00007ff87a462651() Unknown
Yes, we use both links and obstacles. Do you update NavMeshes during gameplay (when agents are looking for paths)?
Are you “moving” NavMeshes continously? That would result in RemoveNavMesh, AddNavMeshData being called every frame. There were some issues with that, maybe they only fixed “half” of the problem…not sure.
We’re adding and removing NavMesh parts, but with quite low frequency (once every 10s or so in average).