4.15 Build fails "EDL dep graph contained a cycle"

Project builds fine in 4.14.3 in 4.15.0 I get the following errors when trying to package:

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:159][ 0]LogSavePackage:Error: Cycle Node Create:GeneralFunctions_C

/Game/Blueprints/MainCharacter/GeneralFunctions.Default__GeneralFunctions_C
UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:159][ 0]LogSavePackage:Error: Cycle Node Serialize:Function

/Game/Blueprints/SaveGameBP/SaveGameFunctions.SaveGameFunctions_C:AddEventHistory
UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:160][ 0]LogSavePackage:Error: Cycle Node Serialize:BlueprintGeneratedClass

/Game/Blueprints/SaveGameBP/SaveGameFunctions.SaveGameFunctions_C
UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:160][ 0]LogSavePackage:Error: Cycle Node Create:SaveGameFunctions_C

/Game/Blueprints/SaveGameBP/SaveGameFunctions.Default__SaveGameFunctions_C
UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:160][ 0]LogSavePackage:Error: Cycle Node Serialize:Function

/Game/Blueprints/MainCharacter/GeneralFunctions.GeneralFunctions_C:GenerateItemAndAddToInventory
UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:160][ 0]LogSavePackage:Error: Cycle Node Serialize:BlueprintGeneratedClass

/Game/Blueprints/MainCharacter/GeneralFunctions.GeneralFunctions_C
UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:160][ 0]LogSavePackage:Error: ----- Create:GeneralFunctions_C /Game/Blueprints/MainCharacter/GeneralFunctions.Default__GeneralFunctions_C contained a cycle (listed above).

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:293][ 0]LogSavePackage:Error: Cycle Node Create:EnemyFunctions_C /Game/Blueprints/Enemies/EnemyFunctions.Default__EnemyFunctions_C

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:293][ 0]LogSavePackage:Error: Cycle Node Serialize:Function /Game/Blueprints/MainCharacter/SpellHandling.SpellHandling_C:NovaActivation

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:293][ 0]LogSavePackage:Error: Cycle Node Serialize:BlueprintGeneratedClass /Game/Blueprints/MainCharacter/SpellHandling.SpellHandling_C

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:293][ 0]LogSavePackage:Error: Cycle Node Create:SpellHandling_C /Game/Blueprints/MainCharacter/SpellHandling.Default__SpellHandling_C

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:293][ 0]LogSavePackage:Error: Cycle Node Serialize:Function /Game/Blueprints/Enemies/EnemyFunctions.EnemyFunctions_C:Death

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:293][ 0]LogSavePackage:Error: Cycle Node Serialize:BlueprintGeneratedClass /Game/Blueprints/Enemies/EnemyFunctions.EnemyFunctions_C

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.52.42:294][ 0]LogSavePackage:Error: ----- Create:EnemyFunctions_C /Game/Blueprints/Enemies/EnemyFunctions.Default__EnemyFunctions_C contained a cycle (listed above).

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:852][ 0]LogWindows:Error: begin: stack for UAT

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:852][ 0]LogWindows:Error: === Critical error: ===

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:852][ 0]LogWindows:Error:

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:852][ 0]LogWindows:Error: Fatal error: [File:D:\Build++UE4+Release-4.15+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\SavePackage.cpp] [Line: 3808]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:853][ 0]LogWindows:Error: EDL dep graph contained a cycle (see errors, above). This is fatal at runtime so it is fatal at cook time.

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:853][ 0]LogWindows:Error:

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:853][ 0]LogWindows:Error:

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:853][ 0]LogWindows:Error: KERNELBASE.dll!0x0000000055327788

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:853][ 0]LogWindows:Error: UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:120]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:853][ 0]LogWindows:Error: UE4Editor-Core.dll!FOutputDevice::Logf__VA() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\outputdevice.cpp:70]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:854][ 0]LogWindows:Error: UE4Editor-Core.dll!FDebug::AssertFailed() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:349]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:854][ 0]LogWindows:Error: UE4Editor-CoreUObject.dll!FEDLCookChecker::Verify() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\coreuobject\private\uobject\savepackage.cpp:3810]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:854][ 0]LogWindows:Error: UE4Editor-UnrealEd.dll!UCookCommandlet::NewCook() [d:\build++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:1733]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:854][ 0]LogWindows:Error: UE4Editor-UnrealEd.dll!UCookCommandlet::Main() [d:\build++ue4+release-4.15+compile\sync\engine\source\editor\unrealed\private\commandlets\cookcommandlet.cpp:868]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:855][ 0]LogWindows:Error: UE4Editor-Cmd.exe!FEngineLoop::PreInit() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2005]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:855][ 0]LogWindows:Error: UE4Editor-Cmd.exe!GuardedMain() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\launch.cpp:127]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:855][ 0]LogWindows:Error: UE4Editor-Cmd.exe!GuardedMainWrapper() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:855][ 0]LogWindows:Error: UE4Editor-Cmd.exe!WinMain() [d:\build++ue4+release-4.15+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:855][ 0]LogWindows:Error: UE4Editor-Cmd.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:856][ 0]LogWindows:Error: KERNEL32.DLL!0x0000000058078364

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:856][ 0]LogWindows:Error: ntdll.dll!0x00000000582E70D1

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:856][ 0]LogWindows:Error: ntdll.dll!0x00000000582E70D1

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:856][ 0]LogWindows:Error:

UATHelper: Packaging (Windows (64-bit)): UE4Editor-Cmd: [2017.03.19-02.53.07:856][ 0]LogWindows:Error: end: stack for UAT

UATHelper: Packaging (Windows (64-bit)): CommandUtils.Run: Run: Took 1554.6164871s to run UE4Editor-Cmd.exe, ExitCode=3

UATHelper: Packaging (Windows (64-bit)): Project.Cook: Cook failed. Deleting cooked data.

UATHelper: Packaging (Windows (64-bit)): Program.Main: ERROR: AutomationTool terminated with exception: AutomationTool.AutomationException: Cook failed. —> AutomationTool.AutomationException: BUILD FAILED: Failed while running Cook for C:\Fictorum\depotcopy\Fictorum.uproject; see log C:\Users\wilde\AppData\Roaming\Unreal Engine\AutomationTool\Logs\C+Progra
m+Files+Epic+Games+UE_4.15\Cook-2017.03.18-21.53.08.txt

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.CommandUtils.RunCommandlet(FileReference ProjectName, String UE4Exe, String Commandlet, String Parameters)

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.CommandUtils.CookCommandlet(FileReference ProjectName, String UE4Exe, String[] Maps, String[] Dirs, String InternationalizationPreset, String[] CulturesToCook, String TargetPlatform, String Parameters)

UATHelper: Packaging (Windows (64-bit)): at Project.Cook(ProjectParams Params)

UATHelper: Packaging (Windows (64-bit)): — End of inner exception stack trace —

UATHelper: Packaging (Windows (64-bit)): at Project.Cook(ProjectParams Params)

UATHelper: Packaging (Windows (64-bit)): at BuildCookRun.DoBuildCookRun(ProjectParams Params)

UATHelper: Packaging (Windows (64-bit)): at BuildCookRun.ExecuteBuild()

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.BuildCommand.Execute()

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.Automation.Execute(List1 CommandsToExecute, CaselessDictionary1 Commands)

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.Automation.Process(String[] Arguments)

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.Program.MainProc(Object Param)

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.InternalUtils.RunSingleInstance(Func`2 Main, Object Param)

UATHelper: Packaging (Windows (64-bit)): at AutomationTool.Program.Main()

UATHelper: Packaging (Windows (64-bit)): Program.Main: AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)

UATHelper: Packaging (Windows (64-bit)): BUILD FAILED

The blueprint libraries compile just find, and I can’t figure out what would be considered a “cycle”

Any help would be greatly appreciated.

Thanks!

Hi Vincere,

This means you have a circular dependency going on. I.E. A function calling another function which calls back to the first function. It appears you may have more than one instance of this. I’d look into your General Functions, Default_EnemyFunctions, and SpellHandling.

See here: Event Driven Loader Enabled, get Cycle Nodes Error in Cooked Game - Programming & Scripting - Epic Developer Community Forums

I don’t know about what exactly Vincere is using, but since he says it worked fine in 4.14 I’m quite sure his functions are fine.

@Vincere You can enable blueprint nativization, then this bug does not occur. Its a bug with the event driven loader and blueprints, for some reason it doesn’t like when function libraries are calling each other. Disabling the event driven loader will also fix this issue, it became enabled by default in 4.15. That’s why your project worked correctly in 4.14.

Let’s hope this bug gets fixed soon :slight_smile:

Yea, works fine once I turned of EDL.

Sadly, I can’t nativize my project, it crashes on open when I do so to a Fatal Error (using Inclusive).

Using, Exclusive the nativized assets are too large.

Yeah, thanks for linking it here !

@Vincere here’s the link to the issue tracker, you can vote on it there:

Hey , we definitely have a lot of functions that reference other functions in our Function Libraries, seems to line up with the bug listed here: Unreal Engine Issues and Bug Tracker (UE-43458), for now disabling EDL for packaging works for us

Hey John, I voted

@Vincere, can you check out John’s scenario explained in his latest comment here: Event driven loader crash - Programming & Scripting - Epic Developer Community Forums

If yours lines up with his scanario, you can find the resolution for this issue on that thread.

John, thanks for catching this and linking it to your issue. Saves some time on my end for sure. We’ll continue any updates on that thread.