[UE:Promoted] Recast NavMesh Crash

Hello,

I’m working with the latest Source version of the engine from GitHub. Crash started happening on the promoted branch, but I have since found it happens on the release branch too.

Keep getting a crash when building Recast NavMesh. I have done the following so far:

  1. Rebuilt the source build I had when the crash started happening (at this point I was using the promoted branch which I got a few months back)
  2. Remove the engine completely, then made a fresh build using the promoted branch again
  3. Moved to the release branch and rebuild the engine again

After doing all of this I figure this problem seems unlikely to be mine. The crash happens when loading an existing nav mesh OR when building a new one. It happens on our existing projects and on fresh ones.

I have been using AutomationTool and “InstalledEngineBuild.xml” to build a binary version of the engine for my team to use. It fails to build DDC because there is a NavMesh (or at least the bounds) in TP_TopDownBP. It crashes with the following call stack:

  [2017.12.09-17.25.39:562][  0]LogWindows: Error: [Callstack] 0x00000000015AACCA UE4Editor-Navmesh.dll!dtNavMesh::connectClusterLink() [c:\ue\engine\source\runtime\navmesh\private\detour\detournavmesh.cpp:1278]
    [2017.12.09-17.25.39:562][  0]LogWindows: Error: [Callstack] 0x00000000015AB0B9 UE4Editor-Navmesh.dll!dtNavMesh::connectExtLinks() [c:\ue\engine\source\runtime\navmesh\private\detour\detournavmesh.cpp:1021]
    [2017.12.09-17.25.39:562][  0]LogWindows: Error: [Callstack] 0x00000000015A8097 UE4Editor-Navmesh.dll!dtNavMesh::addTile() [c:\ue\engine\source\runtime\navmesh\private\detour\detournavmesh.cpp:1772]
    [2017.12.09-17.25.39:562][  0]LogWindows: Error: [Callstack] 0x00000000FBCCB3E5 UE4Editor-Engine.dll!FPImplRecastNavMesh::Serialize() [c:\ue\engine\source\runtime\engine\private\ai\navigation\pimplrecastnavmesh.cpp:414]
    [2017.12.09-17.25.39:563][  0]LogWindows: Error: [Callstack] 0x00000000FBCCCE1D UE4Editor-Engine.dll!ARecastNavMesh::SerializeRecastNavMesh() [c:\ue\engine\source\runtime\engine\private\ai\navigation\recastnavmesh.cpp:704]
    [2017.12.09-17.25.39:563][  0]LogWindows: Error: [Callstack] 0x00000000FBCCABBD UE4Editor-Engine.dll!ARecastNavMesh::Serialize() [c:\ue\engine\source\runtime\engine\private\ai\navigation\recastnavmesh.cpp:737]
    [2017.12.09-17.25.39:563][  0]LogWindows: Error: [Callstack] 0x00000000FEF04FD9 UE4Editor-CoreUObject.dll!FLinkerLoad::Preload() [c:\ue\engine\source\runtime\coreuobject\private\uobject\linkerload.cpp:3300]
    [2017.12.09-17.25.39:563][  0]LogWindows: Error: [Callstack] 0x00000000FF012D89 UE4Editor-CoreUObject.dll!EndLoad() [c:\ue\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1554]
AutomationToolProcess exited with code 1

    [2017.12.09-17.25.39:563][  0]LogWindows: Error: [Callstack] 0x00000000FF02AB0D UE4Editor-CoreUObject.dll!LoadPackageInternal() [c:\ue\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1333]
    [2017.12.09-17.25.39:564][  0]LogWindows: Error: [Callstack] 0x00000000FF029F4D UE4Editor-CoreUObject.dll!LoadPackage() [c:\ue\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1430]
    [2017.12.09-17.25.39:564][  0]LogWindows: Error: [Callstack] 0x00000000F7337F1F UE4Editor-UnrealEd.dll!UDerivedDataCacheCommandlet::Main() [c:\ue\engine\source\editor\unrealed\private\commandlets\deriveddatacachecommandlet.cpp:213]
    [2017.12.09-17.25.39:564][  0]LogWindows: Error: [Callstack] 0x00000000D6A1D6E2 UE4Editor-Cmd.exe!FEngineLoop::PreInit() [c:\ue\engine\source\runtime\launch\private\launchengineloop.cpp:2167]
    [2017.12.09-17.25.39:564][  0]LogWindows: Error: [Callstack] 0x00000000D6A14775 UE4Editor-Cmd.exe!GuardedMain() [c:\ue\engine\source\runtime\launch\private\launch.cpp:127]
    [2017.12.09-17.25.39:564][  0]LogWindows: Error: [Callstack] 0x00000000D6A149DA UE4Editor-Cmd.exe!GuardedMainWrapper() [c:\ue\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
    [2017.12.09-17.25.39:564][  0]LogWindows: Error: [Callstack] 0x00000000D6A2244E UE4Editor-Cmd.exe!WinMain() [c:\ue\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
    [2017.12.09-17.25.39:565][  0]LogWindows: Error: [Callstack] 0x00000000D6A2330E UE4Editor-Cmd.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283]
    [2017.12.09-17.25.39:565][  0]LogWindows: Error: [Callstack] 0x0000000043A21FE4 KERNEL32.DLL!UnknownFunction []
    [2017.12.09-17.25.39:565][  0]LogWindows: Error: [Callstack] 0x000000004652EF91 ntdll.dll!UnknownFunction []
    [2017.12.09-17.25.39:565][  0]LogWindows: Error: [Callstack] 0x000000004652EF91 ntdll.dll!UnknownFunction []
    [2017.12.09-17.25.39:565][  0]LogWindows: Error:
    [2017.12.09-17.25.39:565][  0]LogWindows: Error: end: stack for UAT
  Took 15.1815006s to run UE4Editor-Cmd.exe, ExitCode=3
  ERROR: Editor terminated with exit code 3 while running DerivedDataCache for C:\UE\Templates\TP_TopDownBP\TP_TopDownBP.uproject; see log C:\UE\Engine\Programs\AutomationTool\Saved\Logs\Recur_-nop4\DerivedDataCache-2017.12.09-17.25.39.txt
         (see C:\UE\Engine\Programs\AutomationTool\Saved\Logs\Recur_-nop4\UAT_Log_1.txt for full exception trace)
  AutomationTool exiting with ExitCode=1 (Error_Unknown)
Took 235.6789609s to run AutomationTool.exe, ExitCode=1

I have submitted this crash through the crash reporter as well.

Download Crash Reporter Files listed.

Any ideas to fix this would be much appreciated. I have spent about 3 days trying to fix this and I’m getting nowhere.

Thanks,
Jack

I have same issue in ue4.16.2 and visual studio 2017.
I found trick that avoid the issue.

Disabling detourNavMesh.cpp optimization by #pragma optimize

however, it isn’t foundamental solution…

I’ll give this a try thanks.

Workaround also in this topic: Crash on UE4Editor-Navmesh.dll - C++ - Unreal Engine Forums

Thanks for this. I’m doing another build now with this change in place. Hopefully it fixes the issue, I’ll report back if it does.

I can confirm this work around worked for me:

After rebuilding the engine with these changes the nav mesh generation no longer crashed the engine.

Cheers FrostyElkArne!

Hi Jack,

Your issue looks the same one tracked by the following link. Its fix will be released soon in VS 2017 15.6 preview 2 and VS2017 15.5.3. I don’t see a standalone repro from you so can’t help confirm whether it is the same bug. Please don’t hesitate to share if you have a standalone repro.

Thanks,
Rui Zhang
Microsoft Visual C++ Team