There is a consistent crash when incrementally compiling headers containing generated code.

The code for launching UHT accesses a property which is null when compiling with the UBT makefile.

Steps to Reproduce

Open the 4.17.0 editor from the launcher
Create a basic code project
Close the editor
Make any change to any header containing a UObject derived class (eg. <ProjectName>GameModeBase.h)
Observe that UBT crashes:

1>------ Build started: Project: MyProject21, Configuration: Development_Editor x64 ------
1>EXEC : error : System.ArgumentNullException: Value cannot be null.
1>  Parameter name: source
1>     at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
1>     at UnrealBuildTool.ExternalExecution.ExecuteHeaderToolIfNecessary(BuildConfiguration BuildConfiguration, UEBuildTarget Target, CppCompileEnvironment GlobalCompileEnvironment, List`1 UObjectModules, FileReference ModuleInfoFileName, ECompilationResult& UHTResult)
1>     at UnrealBuildTool.UnrealBuildTool.RunUBT(BuildConfiguration BuildConfiguration, String[] Arguments, FileReference ProjectFile)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(41,5): error MSB3075: The command "D:\Launcher\UE_4.17\Engine\Build\BatchFiles\Build.bat MyProject21Editor Win64 Development "C:\Users\Ben.Marsh\Documents\Unreal Projects\MyProject21\MyProject21.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Have Comments or More Details?

Head over to the existing AnswerHub thread and let us know what's up.

Login to Vote

ComponentDevTools - UnrealBuildTool
Affects Versions4.17
Target Fix4.17.1
Fix Commit3578403
Release Commit3578403
CreatedAug 9, 2017
ResolvedAug 9, 2017
UpdatedSep 23, 2019