This crash occurs in 4.19 and 4.20 but not 4.18. Repro'd in 4.19.0-3944462 and 4.20.0-3955769 and 3964322. This is a regression.
Per UDN licensee:
When I'm showing/hiding levels in editor (in levels tab) that contain PlanarReflectionCaputres, egine somethimes crashes with access violation in FPlanarReflectionParameters::SetParameters ReflectionSceneProxy is pointing to garbage and thus ReflectionSceneProxy->RenderTarget->GetSizeXY() will crash. UPlanarReflectionComponent::DestroyRenderState_Concurrent() deletes SceneProxy, but pointer to exacly that same address is still cached in mesh while FPlanarReflectionParameters::SetParameters is called. The mesh in question is ALWAYS FLandscapeComponentSceneProxy.
(Sample Project attached. Skip to step #3 if using sample project)
Result: Crash
LoginId:77ac66cf4b506a51a458c382c4ec63c2
EpicAccountId:5caf2c99925243e8b9b1bdcc9cd0e6cf
Access violation - code c0000005 (first/second chance not available)
UE4Editor_Renderer!FPlanarReflectionParameters::SetParameters() [d:\jon.bland_main\engine\source\runtime\renderer\private\planarreflectionrendering.cpp:709]
UE4Editor_Renderer!FBasePassReflectionParameters::SetMesh() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.cpp:216]
UE4Editor_Renderer!TBasePassPixelShaderPolicyParamType<FUniformLightMapPolicyShaderParametersType>::SetMesh() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.inl:84]
UE4Editor_Renderer!TBasePassDrawingPolicy<FUniformLightMapPolicy>::SetMeshRenderState() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.h:1236]
UE4Editor_Renderer!TStaticMeshDrawList<TBasePassDrawingPolicy<FUniformLightMapPolicy> >::DrawElement<2>() [d:\jon.bland_main\engine\source\runtime\renderer\private\staticmeshdrawlist.inl:248]
UE4Editor_Renderer!TStaticMeshDrawList<TBasePassDrawingPolicy<FUniformLightMapPolicy> >::DrawVisibleInner<2>() [d:\jon.bland_main\engine\source\runtime\renderer\private\staticmeshdrawlist.inl:399]
UE4Editor_Renderer!TStaticMeshDrawList<TBasePassDrawingPolicy<FUniformLightMapPolicy> >::DrawVisible() [d:\jon.bland_main\engine\source\runtime\renderer\private\staticmeshdrawlist.inl:451]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderBasePassStaticDataType() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.cpp:1005]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderBasePassStaticData() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.cpp:1119]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderBasePassView() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.cpp:1368]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::RenderBasePass() [d:\jon.bland_main\engine\source\runtime\renderer\private\basepassrendering.cpp:984]
UE4Editor_Renderer!FDeferredShadingSceneRenderer::Render() [d:\jon.bland_main\engine\source\runtime\renderer\private\deferredshadingrenderer.cpp:970]
UE4Editor_Renderer!RenderViewFamily_RenderThread() [d:\jon.bland_main\engine\source\runtime\renderer\private\scenerendering.cpp:2774]
UE4Editor_Renderer!TGraphTask<`FRendererModule::BeginRenderingViewFamily'::`33'::EURCMacro_FDrawSceneCommand>::ExecuteTask() [d:\jon.bland_main\engine\source\runtime\core\public\async\taskgraphinterfaces.h:829]
UE4Editor_Core!FNamedTaskThread::ProcessTasksNamedThread() [d:\jon.bland_main\engine\source\runtime\core\private\async\taskgraph.cpp:665]
UE4Editor_Core!FNamedTaskThread::ProcessTasksUntilQuit() [d:\jon.bland_main\engine\source\runtime\core\private\async\taskgraph.cpp:574]
UE4Editor_RenderCore!RenderingThreadMain() [d:\jon.bland_main\engine\source\runtime\rendercore\private\renderingthread.cpp:331]
UE4Editor_RenderCore!FRenderingThread::Run() [d:\jon.bland_main\engine\source\runtime\rendercore\private\renderingthread.cpp:465]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\jon.bland_main\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76]
Why does the REMOVE method of map container remove elements have memory leaks?
How does TextureRenderTarget2D get TArray<uint8> type data?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
UMG RichText not appear image when packaged
What is the difference between Camera and CineCamera?
How do I set a material as a post-processing material?
What controls of umg have mouse wheel events in UE4.27?
How to implement springarm components to scale according to mouse position in spawn?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-56486 in the post.
6 |
Component | UE - LD & Modeling - Terrain - Landscape |
---|---|
Affects Versions | 4.19, 4.20 |
Target Fix | 4.20 |
Fix Commit | 4154540 |
---|
Created | Mar 26, 2018 |
---|---|
Resolved | Jun 22, 2018 |
Updated | Jun 22, 2018 |