[4.8 promoted] Procedural Foliage Volumes crash when using World Composition

Hi,

I am using Wolrd Composition with a tiled terrain. I snapped a procedural foliage volume to a tile. I added a tree from Kite Demo. When I click simulate, however, it says Generating Procedural Foliage. And the placing. And then it crashes. Here is the logs:

[2015.04.15-10.37.35:502][943]LogAnalytics:Display: [UEEditor.UnrealEngine.Release] AnalyticsET URL:CollectData.1?SessionID=%7B5CB8269D-4E2A-2CA3-7214-3985F79085E3%7D&AppID=UEEditor.UnrealEngine.Release&AppVersion=4.8.0-0%2BUE4&UserID=d2a6ef204e6f872bbcc49588b641dd8b%7C14b8b2169b434373a7e6ffe5b119f5d6%7Cdfdcf773-1bfb-445a-a514-71f5c2a723a6. Payload:{"Events":[{"EventName":"SessionStart","DateOffset":"00:01:04.427","IsEditor":"1","IsLauncherInstalled":"true","ProjectName":"","ProjectID":"00000000000000000000000000000000","ProjectDescription":"","ProjectVersion":"","UniqueDeviceId":"8ad891b1ed65f1e50d9b6d6f8ea5be88","Platform":"Windows"},{"EventName":"Editor.ProgramStarted","DateOffset":"00:01:02.887","IsEditor":"1","MachineID":"d2a6ef204e6f872bbcc49588b641dd8b","AccountID":"14b8b2169b434373a7e6ffe5b119f5d6","GameName":"Thierce","CommandLine":" LOG=log.txt"},{"EventName":"Editor.Usage.Project","DateOffset":"00:01:00.299","IsEditor":"1","Name":"","Id":"00000000000000000000000000000000","SourceFileCount":"0","SourceFileDirectorySize":"0","ModuleCount":"170","ObjectClasses":"1935","BlueprintClasses":"49"},{"EventName":"Editor.Performance.Startup","DateOffset":"00:01:00.015","IsEditor":"1","Duration":"14.038"},{"EventName":"Editor.Usage.AssetCounts","DateOffset":"00:00:54.585","IsEditor":"1","ProjectId":"00000000000000000000000000000000","AssetPackageCount":"2083","Maps":"25"},{"EventName":"Editor.Usage.AssetClasses","DateOffset":"00:00:54.585","IsEditor":"1","ProjectId":"00000000000000000000000000000000","Texture2D":"765","StaticMesh":"193","Font":"6","Material":"377","MaterialFunction":"298","TextureCube":"11","MaterialInstanceConstant":"176","LandscapeLayerInfoObject":"7","Blueprint":"76","SoundClass":"6","SoundMix":"1","TireType":"1","PaperSprite":"2","PaperTerrainMaterial":"1","SoundWave":"24","SoundCue":"19","PhysicalMaterial":"8","BlendSpace1D":"3","AnimSequence":"20","Skeleton":"4","CurveFloat":"3","AnimBlueprint":"5","Rig":"1","SkeletalMesh":"5","CurveLinearColor":"5","SubsurfaceProfile":"1","PhysicsAsset":"2","World":"25","TextureRenderTarget2D":"1","ObjectRedirector":"50","TextureLightProfile":"6","ReverbEffect":"26","ParticleSystem":"9","TouchInterface":"2","DialogueVoice":"2","DialogueWave":"1","PaperFlipbook":"1","DestructibleMesh":"1","ProceduralFoliageSpawner":"3","MaterialParameterCollection":"4","UserDefinedStruct":"2","UserDefinedEnum":"3","LandscapeGrassType":"1"},{"EventName":"Editor.Performance.FrameRate","DateOffset":"00:00:17.049","IsEditor":"1","MeanFrameRate":"24.3"}]}
[2015.04.15-10.38.02:477][390]LogWindows:Error: Windows GetLastError: L’opération a réussi. (0)
[2015.04.15-10.38.02:478][390]LogCrashTracker: 


[2015.04.15-10.38.04:590][390]LogCrashTracker: 


[2015.04.15-10.38.04:590][390]LogWindows: === Critical error: ===
Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:C:\Unreal\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 678] 
Array index out of bounds: -103 from an array of size 16384


KERNELBASE.dll {0x000007fefd68940d} + 0 bytes
UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() {0x000007fed7e41154} + 0 bytes [c:\unreal\engine\source\runtime\core\private\windows\windowsp
UE4Editor-Core.dll!FOutputDevice::Logf__VA() {0x000007fed7cfa438} + 159 bytes [c:\unreal\engine\source\runtime\core\private\misc\outputdevic
UE4Editor-Core.dll!FDebug::AssertFailed() {0x000007fed7ccc4c2} + 65 bytes [c:\unreal\engine\source\runtime\core\private\misc\outputdevic
UE4Editor-Landscape.dll!ULandscapeComponent::GetLayerWeightAtLocation() {0x000007fedaf2b712} + 147 bytes [c:\unreal\engine\source\runtime\landscape\private\landscapeed
UE4Editor-FoliageEdit.dll!GetMaxHitWeight() {0x000007fec813d3d2} + 0 bytes [c:\unreal\engine\source\editor\foliageedit\private\foliageedm
UE4Editor-FoliageEdit.dll!FEdModeFoliage::CalculatePotentialInstances_ThreadSafe() {0x000007fec811c6ec} + 240 bytes [c:\unreal\engine\source\editor\foliageedit\private\foliageedm
UE4Editor-FoliageEdit.dll!FEdModeFoliage::AddInstancesImp() {0x000007fec81121c7} + 0 bytes [c:\unreal\engine\source\editor\foliageedit\private\foliageedm
UE4Editor-FoliageEdit.dll!FEdModeFoliage::AddInstances() {0x000007fec811185b} + 52 bytes [c:\unreal\engine\source\editor\foliageedit\private\foliageedm
UE4Editor-FoliageEdit.dll!FProceduralFoliageComponentDetails::OnResimulateClicked() {0x000007fec81518e2} + 0 bytes [c:\unreal\engine\source\editor\foliageedit\private\procedural
UE4Editor-FoliageEdit.dll!TMemberFunctionCaller<FProceduralFoliageComponentDetails,FReply (__cdecl FProceduralFoliageComponentDetails::*)(void) __ptr64>::operator()<>() {0x000007fec80c9287} + 16 bytes [c:\unreal\engine\source\runtime\core\public\delegates\delegat
UE4Editor-FoliageEdit.dll!TTupleImpl<TIntegerSequence<> >::ApplyAfter_ExplicitReturnType<FReply,TMemberFunctionCaller<FProceduralFoliageComponentDetails,FReply (__cdecl FProceduralFoliageComponentDetails::*)(void) __ptr64> >() {0x000007fec80c9ff9} + 19 bytes [c:\unreal\engine\source\runtime\core\public\delegates\tuple.h
UE4Editor-FoliageEdit.dll!TBaseSPMethodDelegateInstance<0,FProceduralFoliageComponentDetails,0,FReply __cdecl(void)>::Execute() {0x000007fec8133ca9} + 36 bytes [c:\unreal\engine\source\runtime\core\public\delegates\delegat
UE4Editor-Slate.dll!TBaseDelegate<FReply>::Execute() {0x000007fedb492c3a} + 6 bytes [c:\unreal\engine\source\runtime\core\public\delegates\delegat
UE4Editor-Slate.dll!SButton::OnMouseButtonUp() {0x000007fedb4c17cf} + 17 bytes [c:\unreal\engine\source\runtime\slate\private\widgets\input\s
UE4Editor-Slate.dll!<lambda_de96dc3471181973108233c6db1f9843>::operator()() {0x000007fedb2c427c} + 24 bytes [c:\unreal\engine\source\runtime\slate\private\framework\appli
UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_de96dc3471181973108233c6db1f9843> >() {0x000007fedb27c327} + 21 bytes [c:\unreal\engine\source\runtime\slate\private\framework\appli
UE4Editor-Slate.dll!FSlateApplication::ProcessMouseButtonUpEvent() {0x000007fedb338739} + 75 bytes [c:\unreal\engine\source\runtime\slate\private\framework\appli
UE4Editor-Slate.dll!FSlateApplication::OnMouseUp() {0x000007fedb325b39} + 16 bytes [c:\unreal\engine\source\runtime\slate\private\framework\appli
UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage() {0x000007fed7e36ad2} + 12 bytes [c:\unreal\engine\source\runtime\core\private\windows\windowsa
UE4Editor-Core.dll!FWindowsApplication::DeferMessage() {0x000007fed7e1dbe6} + 74 bytes [c:\unreal\engine\source\runtime\core\private\windows\windowsa
UE4Editor-Core.dll!FWindowsApplication::ProcessMessage() {0x000007fed7e380f2} + 44 bytes [c:\unreal\engine\source\runtime\core\private\windows\windowsa
UE4Editor-Core.dll!FWindowsApplication::AppWndProc() {0x000007fed7e176df} + 0 bytes [c:\unreal\engine\source\runtime\core\private\windows\windowsa
USER32.dll {0x0000000077779bd1} + 0 bytes
USER32.dll {0x00000000777798da} + 0 bytes
UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages() {0x000007fed7e394d6} + 48 bytes [c:\unreal\engine\source\runtime\core\private\windows\windowsp
UE4Editor.exe!FEngineLoop::Tick() {0x000000013f7b2bd6} + 8 bytes [c:\unreal\engine\source\runtime\launch\private\launchenginelo
UE4Editor.exe!GuardedMain() {0x000000013f7a3b4c} + 0 bytes [c:\unreal\engine\source\runtime\launch\private\launch.cpp:142
UE4Editor.exe!GuardedMainWrapper() {0x000000013f7a3bca} + 5 bytes [c:\unreal\engine\source\runtime\launch\private\windows\launch
UE4Editor.exe!WinMain() {0x000000013f7b57b8} + 17 bytes [c:\unreal\engine\source\runtime\launch\private\windows\launch
UE4Editor.exe!__tmainCRTStartup() {0x000000013f7b67b9} + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]
kernel32.dll {0x00000000776559ed} + 0 bytes
ntdll.dll {0x000000007788c541} + 0 bytes
ntdll.dll {0x000000007788c541} + 0 bytes

Hi vinz243,

Does this occur in a clean project with no additional content or is it limited to your project? Additionally, does it only occur with the kite demo model or can you use a base object (such as the cube mesh) to reproduce this effect? What settings are you using for your foliage volume?

Hi, thank you for your quick answer. I created a new project. I created a foliage volume with a simple sphere on a simple landscape. it worked. I removed this landscape and I create a 2x2 tiled landscape. I snapped the volume to match a tile. When I simulate nothing happen, but when I show debug tile the engine crashes

Can you post a copy of your dxdiag here so i can take a look? Thus far I have not been able to reproduce this on my end.

Here it is ------------------System Information------------------Time of this report: - Pastebin.com
Here is my blank project with tiled terrain and everything (there might be some file that you won’t need to download). BTW sorry for the torrent I have an awful network. drive.google.com/file/d/0B8kAEdNtu2xJQ2lrWjBwRjJWUTA/view?usp=sharing

Hi vinz243,

Unfortunately due to our firewall system I am unable to access torrent files. However, if you could go to Help>About Unreal Engine and tell me what the full version number of your editor is I can see if the error simply lies in a previous version of master. Please keep in mind that the 4.8 promoted branch, while more stable than master, is not as extensively tested and is under constant development, so the crash may already be fixed in a more recent build.

It only says “Version: 4.8.0-0+UE4”. I’ll rebuild it although I rebuilt it a few days ago.

OK, after some attempts, it appear it crashes when specifying a target layer for the mesh. I set “Grass” for example it crashed (I recompiled everything a few hours ago).

Hi vinz243,

Thank you for the updated information. I was able to reproduce this and have entered a bug report, UE-13991 to be assessed by the development staff.

Thanks you very much ! How can I follow updates on this?

Hi, even though no commit is mentionning UE-13991, this issue has been fixed in 4.8 Preview 1. Thank you :slight_smile:
BTW, what do you recommend? Snap the Procedural Foliage Spawner to the whole world, or create one per tile?

EDIT. It’s not working yet sorry. Really weird; it was working a while later.

I personally just use one but you can use multiples, which could be especially helpful if your tiles change types of vegetation. Either way technically should work.

OK, thanks. Just to give a quick update. This feature is really unstable. Crashes one time in two.

Are you on 4.7.6 or in the preview build? The bug report has been marked as unable to reproduce as of a later build number, so it may be fixed in preview 1 or coming out with one of the preview builds in the near future.

I have the preview 1. In fact, there should be some problem about memory management, since you can simulate a foliage every time it will work (even with tiled terrain). But to change a Foliage Type’s settings, you need to restart the editor otherwise it wil crash. For instance, if I change the shade radius of a FT, and rerun simulate it will crash. Then it will work.

Hi vinz243,

I haven’t been able to reproduce this in preview 1, what steps are you taking that crash the editor?

Hey guys, this is still happening in Preview 3 and you don’t need World Composition for it to break. That says, it works sometimes, although it’s rare.

Hi HighlySpammable,

Can you post your crashlogs and callstack here? Additionally, what steps are you taking before the crash occurs? Do these steps crash the editor in a blank project with no additional content?