Nav Mesh related crash

There’s this bug: UE-61953.

“When the NavMesh is unloaded, it seems that the number of the DirtyLayers array is sometimes smaller than that of the CompressedLayers array.”

I’m seeing exactly that, though I don’t know if it happens when a NavMesh is unloaded or at some other time.

The setup is a world with world composition. The NavMeshBoundsVolumes are in the sublevels (except for one in the persistent level, because I read somewhere that you need one in there). There are also NavMeshModifierVolumes.

It doesn’t always crash in the same area.

It happens in this section of RecastNavMeshGenerator.cpp:

for (int32 iLayer = 0; iLayer < CompressedLayers.Num(); iLayer++)
{
	if (DirtyLayers[iLayer] == false || !CompressedLayers[iLayer].IsValid())
	{
		// skip layers not marked for rebuild
		continue;
	}

It crashed because DirtyLayers is empty, but CompressedLayers has 1 entry.

Could maybe fix it by checking if has an entry at iLayer, but that might just cover up the problem, I don’t know.

The issue has been changed to “Cannot Reproduce”. Does that mean it’s not being worked on anymore?

Hello,

We’ve recently made a switch to a new bug reporting method using a more structured form. Please visit the link below for more details and report the issue using the new Bug Submission Form. Feel free to continue to use this thread for community discussion around the issue.

https://epicsupport.force.com/unrealengine/s/

Thanks

i referenced an already existing issue (UE-61953). I figured i shouldn’t make a new issue for the same bug (i assume it’s the same). Should I?

I seem to have “fixed” it by just filling up the DirtyLayers array with falses until it has the same length as CompressedLayers. At least it hasnt crashed since, but it might just be masking the real problem.