Constant landscape related crashes

After upgrading to 4.13 I’ve been getting constant crashes with the following error:

Access violation - code c0000005 (first/second chance not available)

UE4Editor_CoreUObject!FWeakObjectPtr::Get() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\coreuobject\private\uobject\weakobjectptr.cpp:80]
UE4Editor_Landscape!ULandscapeInfo::FixupProxiesTransform() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\landscape\private\landscape.cpp:1968]
UE4Editor_Landscape!ALandscape::PostEditMove() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\landscape\private\landscapeedit.cpp:3288]
UE4Editor_Engine!FLevelUtils::ApplyPostEditMove() [d:\build\++ue4+release-4.13+compile\sync\engine\source\runtime\engine\private\levelutils.cpp:367] etc.

We’ve got about 3 landscapes, each in it’s own map/level streaming volume. Odd this is the crash is 100% random. It could happen when I save, while selecting something in the editor, or even while the editor is idling in the background.

Here is my crashlog if needed from the project logs

Thanks for the report. We’re looking into this. What preview version(s) did you try?

  • Jack

It’s been happening in all 3.

Edit, just noticed it’s also crashing with this error when I try to package the game. When doing it’s map saving during the package, it crashes on the map that has the Landscape containing visibility. I’ll try without invisibility tomorrow and see if that changes anything.

The log you’ve linked to looks like it’s something to do with hot reload, and not landscape?

The callstack you’ve posted in your post is a different one, showing a crash when moving a landscape actor. I can look into this.

Do you have callstacks for the other crashes you’ve mentioned? (on saving, selecting something, when idling, and when packaging). They are likely all different.

Hey Gareth,
I can assure you every crash is the exact same callstack. Here is my freshly opened project today.

Here’s the Crashlog for that packaging crash (Crashes when saving UEDPCPyramid.umap during the initial packaging)

Looks like something about a brush component in a persistent level not being registered?

Here is our setup, all using streaming volumes with ‘Main.umap’ being the persistent level. The landscape is within Pyramid.

While we’re debugging the issue here, you can prevent the interruption to your development by modifying ALandscape::PostEditMove to look like this:

void ALandscape::PostEditMove(bool bFinished)
{
	if (bFinished)
	{
		// align all proxies to landscape actor
		auto* LandscapeInfo = GetLandscapeInfo();
		if (LandscapeInfo)
		{
			LandscapeInfo->FixupProxiesTransform();
		}
	}

	Super::PostEditMove(bFinished);
}

Hi Jack, Unfortunately I’m not running the source so I can’t make any changes. However I found another crash cause which may be related to the packaging crashes also.

If you have a streaming level (with a landscape) selected but not visible, it will crash on save.

Edit: Also seems to happen if the landscape isn’t selected. As long as that area is not visible, crash.

Thanks very much, I think I know the cause.

It’s related to the streaming level having an offset applied.

We should be able to fix this for 4.13.1, although you should be able to work around it by removing the offset from the streaming level.

We really don’t like crashes :slight_smile:

Great work, thanks!
You guys are so responsive and quick with these fixes! :slight_smile:

We’re tracking this issue as UE-35301 and it’s been fixed for 4.13.1.