crash on loading - GetIndirectOcclusion

We made some changes to a project and now UE 4.13 crashes each time when trying to load the project.
Can we recover the project?

[2016.10.26-01.18.47:633][  0]LogHAL: Changed child's priority (nice value) to 10 (change from 0)
[2016.10.26-01.18.47:633][  0]LogShaderCompilers:Warning: 1 Shader compiler errors compiling WorldGridMaterial for platform GLSL_150:
[2016.10.26-01.18.47:633][  0]LogShaderCompilers:Warning: Engine/Shaders/BasePassPixelShader.usf(1004): Shader TBasePassPSTLightMapPolicyHQSkylight, VF FLandscapeXYOffsetVertexFactory:                                                                                                                                    


[2016.10.26-01.18.47:635][  0]LogShaderCompilers:Warning:       Common.usf(940): warning: implicit truncation from 'vec3' to 'vec2'                           
[2016.10.26-01.18.47:635][  0]LogShaderCompilers:Warning:       BasePassPixelShader.usf(1004): error: no matching function for call to 'GetIndirectOcclusion(vec4)'                                                                                                                                                         
Fatal error: [File:/home/user/Documents/Epic/UnrealEngine/Engine/Source/Runtime/Engine/Private/ShaderCompiler/ShaderCompiler.cpp] [Line: 1704]           
Failed to compile default material /Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial!                                                               
[2016.10.26-01.18.47:635][  0]LogLinux:Error: appError called: Assertion failed: Assertion failed:  [File:/home/user/Documents/Epic/UnrealEngine/Engine/Source/Runtime/Engine/Private/ShaderCompiler/ShaderCompiler.cpp] [Line: 1704]                                                                                  
Failed to compile default material /Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial! 

Signal 11 caught.                                                                                                                                             
Malloc Size=131076 LargeMemoryPoolOffset=131092                                                                                                               
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655 
[2016.10.26-01.18.47:720][  0]LogLinux: === Critical error: ===
****Unhandled Exception: SIGSEGV: invalid attempt to access memory at address 0x00000003****

[2016.10.26-01.18.47:721][  0]LogLinux: Assertion failed: Assertion failed:  [File:/home/user/Documents/Epic/UnrealEngine/Engine/Source/Runtime/Engine/Private/ShaderCompiler/ShaderCompiler.cpp] [Line: 1704] 
Failed to compile default material /Engine/EngineMaterials/WorldGridMaterial.WorldGridMaterial!

Hey aliasense-

What changes were made to the project prior to the crash happening? Looking at the terminal output, it appears the crash occurred when trying to access an unused memory address which likely means there was a null pointer somewhere. Can you try reverting the changes and let me know if the project loads after that?

Hi,

There was probably a bunch of changes on cameras to get occlusion and we were trying to find a way to activate proper planar projections (wasn’t working). We activated forward shading and then had to restart I believe that’s when the project stopped loading.

How can we revert the changes best without loading it in the Editor?
There seems to be various text files in the directories? Which ones do you think we should try to revert?
There also seems to a backup and auto save directly but those only contain certain files not all.

The errors message seems to say that Unreal tries to call a function that does not exist. Did you see that? Where in the code does that function get called during startup?
Which setting would case this?

BasePassPixelShader.usf(1004): error: no matching function for call to ‘GetIndirectOcclusion(vec4)’

Hope this helps.

After further investigation, I found where this issue has been reported previously: Unreal Engine Issues and Bug Tracker (UE-36406) . Since it appears to be related to using forward shading specifically, you should be able to open the DefaultEngine.ini file and find the following entry:

[/Script/Engine.RendererSettings]
r.ForwardShading=True

Changing “True” to “False” should turn off forward shading temporarily and allow you to open the project. As stated in the linked report, if you have the default material (checkerboard) applied anywhere in your level, it would probably be best to use another material as a placeholder if/when you turn forward shading back on.

Cheers

Thanks, . Settting r.ForwardShading=False in DefaultEngine.ini for the project allowed us to load the project again.
Is this something that is getting fixed?
Is there a way to alter the default material to not run into this issue again by accident?

The crash has not reproduced and appears to be fixed in 4.14. I’m not sure if the default material can be altered in 4.13 to avoid the issue, however if you use another material in its place you should be able to avoid the crash.