Fatal Error while Cooking Content, w/o Reason!

While cooking the assets of my project, either during packaging or directly via the “Cook content for Windows” menu option, I get a fatal error from UE4. Problem is that there is no hint on why the cooking process fails, none at all (see full error trace at the bottom of this posting).

Here are some facts:

  • We are using the official 4.12.4 build (i.e. not the engine sources from GitHub)
  • It’s a mixed BP and C++ project
  • Happens only with this project (apparently since upgrading to 4.12, but I am not sure about this)
  • The problem is reproducible, every time I try to cook
  • When I copy the whole project to another machine, then the error happens there as well
  • The same goes for our build server, which automatically fetches latest SVN changes
  • When I revert back to the last working version from our SVN server, then it works fine again
  • Later, when I do some modifications in one or more (BP) assets, then the error comes again
  • I tried to delete “Intermediate” and “Build” folders, but still the same error

What bugs me most ist that in some cases, after reverting back to a previous version from SVN that worked, I can carefully make only a small modification in one single BP asset, and then it still works (i.e. no cooking error). However, as soon as I do some more modfications, or change a couple of BP assets, then the cooking errors comes again.

We are trying to solve this issue since many days now, but without success. I am kinda desperate – shipping date is approaching soon, but I have no clue what else I could do. Feel totally lost here :frowning:

I am grateful for any ideas you can share.
Thanks in advance for your help!

Here is the full cooking trace:
(The log file mentioned in this trace is basically the same, again without reason for the error)

MainFrameActions: Packaging (Windows (64-bit)): Project.Cook: Cleaning cooked data.
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.RunCommandlet: Running UE4Editor Cook for project M:\Unreal\Projects\GlowRedux\GlowRedux.uproject
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.RunCommandlet: Commandlet log file is M:\Programs\Epic Games\4.12\Engine\Programs\AutomationTool\Saved\Cook-2016.07.01-01.39.46.txt
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: M:\Programs\Epic Games\4.12\Engine\Binaries\Win64\UE4Editor-Cmd.exe M:\Unreal\Projects\GlowRedux\GlowRedux.uproject -run=Cook  -TargetPlatform=WindowsNoEditor -fileopenlog -unversioned -cookall -abslog="M:\Programs\Epic
MainFrameActions: Packaging (Windows (64-bit)): Games\4.12\Engine\Programs\AutomationTool\Saved\Cook-2016.07.01-01.39.46.txt" -stdout -FORCELOGFLUSH -CrashForUAT -unattended  -UTF8Output
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: LogInit:Display: Running engine for game: GlowRedux
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: LogInit:Display: RandInit(-1199990203) SRandInit(-1199990201).
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.47:783][  0]LogShaderCompilers:Display: Using Local Shader Compiler.
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.48:324][  0]LogDerivedDataCache:Display: Max Cache Size: 512 MB
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.48:402][  0]LogDerivedDataCache:Display: Loaded Boot cache: M:/Users/mfb/AppData/Local/UnrealEngine/4.12/DerivedDataCache/Boot.ddc
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.48:423][  0]LogDerivedDataCache:Display: Pak cache opened for reading ../../../Engine/DerivedDataCache/Compressed.ddp.
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:061][  0]LogTemp:Display: Loaded TP AllDesktopTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:072][  0]LogTemp:Display: Loaded TP WindowsClientTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:085][  0]LogTemp:Display: Loaded TP WindowsNoEditorTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:096][  0]LogTemp:Display: Loaded TP WindowsServerTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:107][  0]LogTemp:Display: Loaded TP WindowsTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:119][  0]LogTemp:Display: Loaded TP AndroidTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:130][  0]LogTemp:Display: Loaded TP Android_ASTCTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:140][  0]LogTemp:Display: Loaded TP Android_ATCTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:153][  0]LogTemp:Display: Loaded TP Android_DXTTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:164][  0]LogTemp:Display: Loaded TP Android_ETC1TargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:176][  0]LogTemp:Display: Loaded TP Android_ETC2TargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:197][  0]LogTemp:Display: Loaded TP Android_MultiTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:197][  0]LogTemp:Display: Loaded TP Android_PVRTCTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:198][  0]LogTemp:Display: Loaded TP HTML5TargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:221][  0]LogTemp:Display: Loaded TP IOSTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:229][  0]LogTemp:Display: Loaded TP TVOSTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:239][  0]LogTemp:Display: Loaded TP LinuxNoEditorTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:250][  0]LogTemp:Display: Loaded TP LinuxServerTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:263][  0]LogTemp:Display: Loaded TP LinuxTargetPlatform
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.49:263][  0]LogTargetPlatformManager:Display: Building Assets For WindowsNoEditor
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.50:205][  0]LogOutputDevice:Error:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: begin: stack for UAT
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.50:205][  0]LogWindows:Error: === Critical error: ===
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: Fatal error!
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2016.06.30-23.39.50:205][  0]LogOutputDevice:Error:
MainFrameActions: Packaging (Windows (64-bit)): UE4Editor-Cmd: end: stack for UAT
MainFrameActions: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 14,6046904s to run UE4Editor-Cmd.exe, ExitCode=3
MainFrameActions: Packaging (Windows (64-bit)): Project.Cook: Cook failed. Deleting cooked data.
MainFrameActions: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Cook failed. ---> AutomationTool.AutomationException: BUILD FAILED: Failed while running Cook for M:\Unreal\Projects\GlowRedux\GlowRedux.uprojec
MainFrameActions: Packaging (Windows (64-bit)): t; see log M:\Users\mfb\AppData\Roaming\Unreal Engine\AutomationTool\Logs\M+Programs+Epic+Games+4.12\Cook-2016.07.01-01.40.00.txt
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.CommandUtils.RunCommandlet(FileReference ProjectName, String UE4Exe, String Commandlet, String Parameters)
MainFrameActions: Packaging (Windows (64-bit)):    at Project.Cook(ProjectParams Params)
MainFrameActions: Packaging (Windows (64-bit)):    --- End of inner exception stack trace ---
MainFrameActions: Packaging (Windows (64-bit)):    at Project.Cook(ProjectParams Params)
MainFrameActions: Packaging (Windows (64-bit)):    at BuildCookRun.DoBuildCookRun(ProjectParams Params)
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.BuildCommand.Execute()
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.Automation.Execute(List`1 CommandsToExecute, CaselessDictionary`1 Commands)
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.Automation.Process(String[] CommandLine)
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.Program.MainProc(Object Param)
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)
MainFrameActions: Packaging (Windows (64-bit)):    at AutomationTool.Program.Main()
MainFrameActions: Packaging (Windows (64-bit)): Program.Main: AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)
MainFrameActions: Packaging (Windows (64-bit)): Domain_ProcessExit
MainFrameActions: Packaging (Windows (64-bit)): copying UAT log files...
MainFrameActions: Packaging (Windows (64-bit)): BUILD FAILED
PackagingResults:Error: Error Unknown Cook Failure

Hello haimat,

Can you provide me with a screenshot of your Project Settings so I can see how you are cooking and packaging your project?

Secondly, is there a reason you needed to upgrade your project since it works as expected in the prior version?

Thank you,

Here is the screenshot of our project’s packaging settings:

I also tried with “Shipping” configuration and “For distribution” flag, but still the same fatal error.

We updated to 4.12 mainly because we want to use the Sequencer for our in-game videos. And there some nice other new features, such as Actor merging and the pixel inspector. Last but not least there are also tons of new minor features and bug fixes in a new release…

Also I rather don’t think that the upgrade to 4.12 is the reason for our cooking problems. Directly after the upgrade that error did not happen, only since a week or so.

btw. since the cooking log file looks a bit different than the output log I posted in the original posting, I have [uploaded the log file to pastebin][2].

Update: After some research and detective work, I found something. When I revert back from SVN to the last version that worked, I can cook fine. But when I open Visual Studio and rebuild the solution (in “Development Editor” configuration; compilation without errors or warnings), then the aforementioned cooking error happes again.

So it is definitely not related to a (change in a) BP asset, as assumed and described above. Instead, it is somehow related to compiling the project in VS. Fun fact: The code is exactly the same as from SVN, i.e. I made no changes in the code. But still, after compiling this same code (that used to work), the cooking error occurs.

I tried to delete “Build” folder and regenerate the VS solution files from the .uproject file. This is the list of files that lead to the problem. When I revert them back from SVN, then it works again.

Binaries/Win64/UE4Editor-Glow.dll
Binaries/Win64/UE4Editor-Glow.pdb
Binaries/Win64/UE4Editor.modules

Any ideas?

Ok guys, we finally managed to solve this issue.

For the records: The problem was a piece of our code, which compiled fine, but led to an error during runtime. Apparently UE4 runs the executable while cooking, but it doesn’t mention anything like that at the error message. I was able to track this bug down by looking at the folder Saved/Logs/ within our project directory. There you can find mini dumps, which you can open in Visual Studio. There I started debugging and in the callstack I could find the problematic function call in our code.

Easy to fix when you know where to look :slight_smile: