Description

A crash is occurring when adding an empty shader directory when using the custom node within the material editor. This crash is preventing some users from opening their projects that use this workflow to create custom shaders.

This is a regression from the previous version of the editor.

4.16.2-3514769: Does not occur
4.17 Preview 1-3528061: Crash occurs
//UE4/Release-4.17-3535404: Crash occurs

Steps to Reproduce

1. Create new blank project
2. Create new material
3. Add Custom Node.
4. Add the following: #include "" return0;
5. Plug into Base Color

Outcome Crash occurs shortly after entering the text and compiling the shader

Expected The editor produces a compile error message like in previous versions (see image attached)

Callstack
KERNELBASE.dll!0x00000000FD36A06D
ShaderCompileWorker-Core.dll!FOutputDeviceWindowsError::Serialize() [d:\program files\perforce\hurley_releases\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:120]
ShaderCompileWorker-Core.dll!FOutputDevice::Logf__VA() [d:\program files\perforce\hurley_releases\engine\source\runtime\core\private\misc\outputdevice.cpp:70]
ShaderCompileWorker-Core.dll!FDebug::AssertFailed() [d:\program files\perforce\hurley_releases\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
ShaderCompileWorker-ShaderCore.dll!CheckVirtualShaderFilePath() [d:\program files\perforce\hurley_releases\engine\source\runtime\shadercore\private\shadercore.cpp:208]
ShaderCompileWorker-ShaderCore.dll!GetShaderSourceFilePath() [d:\program files\perforce\hurley_releases\engine\source\runtime\shadercore\private\shadercore.cpp:296]
ShaderCompileWorker-ShaderCore.dll!LoadShaderSourceFile() [d:\program files\perforce\hurley_releases\engine\source\runtime\shadercore\private\shadercore.cpp:411]
ShaderCompileWorker-ShaderPreprocessor.dll!FMcppFileLoader::GetFileContents() [d:\program files\perforce\hurley_releases\engine\source\developer\shaderpreprocessor\private\shaderpreprocessor.cpp:79]
ShaderCompileWorker-ShaderPreprocessor.dll!norm_path() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\system.c:2474]
ShaderCompileWorker-ShaderPreprocessor.dll!open_file() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\system.c:3432]
ShaderCompileWorker-ShaderPreprocessor.dll!open_include() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\system.c:3254]
ShaderCompileWorker-ShaderPreprocessor.dll!do_include() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\system.c:3178]
ShaderCompileWorker-ShaderPreprocessor.dll!directive() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\directive.c:324]
ShaderCompileWorker-ShaderPreprocessor.dll!mcpp_main() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\main.c:690]
ShaderCompileWorker-ShaderPreprocessor.dll!mcpp_lib_main() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\main.c:426]
ShaderCompileWorker-ShaderPreprocessor.dll!mcpp_run() [d:\depot\ue4\engine\source\thirdparty\mcpp\mcpp-2.7.2\src\main.c:495]
ShaderCompileWorker-ShaderPreprocessor.dll!PreprocessShader() [d:\program files\perforce\hurley_releases\engine\source\developer\shaderpreprocessor\private\shaderpreprocessor.cpp:143]
ShaderCompileWorker-ShaderFormatD3D.dll!CompileD3D11Shader() [d:\program files\perforce\hurley_releases\engine\source\developer\windows\shaderformatd3d\private\d3d11shadercompiler.cpp:981]
ShaderCompileWorker-ShaderFormatD3D.dll!CompileShader_Windows_SM5() [d:\program files\perforce\hurley_releases\engine\source\developer\windows\shaderformatd3d\private\d3d11shadercompiler.cpp:1119]
ShaderCompileWorker.exe!FWorkLoop::ProcessInputFromArchive() [d:\program files\perforce\hurley_releases\engine\source\programs\shadercompileworker\private\shadercompileworker.cpp:308]
ShaderCompileWorker.exe!FWorkLoop::Loop() [d:\program files\perforce\hurley_releases\engine\source\programs\shadercompileworker\private\shadercompileworker.cpp:160]
ShaderCompileWorker.exe!GuardedMain() [d:\program files\perforce\hurley_releases\engine\source\programs\shadercompileworker\private\shadercompileworker.cpp:903]
ShaderCompileWorker.exe!GuardedMainWrapper() [d:\program files\perforce\hurley_releases\engine\source\programs\shadercompileworker\private\shadercompileworker.cpp:930]
Sh

UE4Editor_Core!FDebug::AssertFailed() [d:\program files\perforce\hurley_releases\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]
UE4Editor_Engine!SCWErrorCode::HandleGeneralCrash() [d:\program files\perforce\hurley_releases\engine\source\runtime\engine\private\shadercompiler\shadercompiler.cpp:284]
UE4Editor_Engine!DoReadTaskResults() [d:\program files\perforce\hurley_releases\engine\source\runtime\engine\private\shadercompiler\shadercompiler.cpp:641]
UE4Editor_Engine!FShaderCompileThreadRunnable::ReadAvailableResults() [d:\program files\perforce\hurley_releases\engine\source\runtime\engine\private\shadercompiler\shadercompiler.cpp:1193]
UE4Editor_Engine!FShaderCompileThreadRunnable::CompilingLoop() [d:\program files\perforce\hurley_releases\engine\source\runtime\engine\private\shadercompiler\shadercompiler.cpp:1341]
UE4Editor_Engine!FShaderCompileThreadRunnableBase::Run() [d:\program files\perforce\hurley_releases\engine\source\runtime\engine\private\shadercompiler\shadercompiler.cpp:865]
UE4Editor_Core!FRunnableThreadWin::Run() [d:\program files\perforce\hurley_releases\engine\source\runtime\core\private\windows\windowsrunnablethread.cpp:76] 

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

1
Login to Vote

Fixed
ComponentUE - Graphics Features
Affects Versions4.17
Target Fix4.17
Fix Commit3537666
Main Commit3555226
Release Commit3537666
CreatedJul 13, 2017
ResolvedJul 14, 2017
UpdatedApr 27, 2018