PIE: Error: Infinite loop detected. Blueprint: LearningDirector Function: Outputs - Outputs is a Standard Macro.

Summary

UE5.8 is frequently throwing an Infinite Loop error when I attempt to do things. It’s telling me that it originates in the Standard Macros.

What Type of Bug are you experiencing?

Editor

Steps to Reproduce

I don’t know why it is or is not happening. I don’t know how to trigger or not trigger it. It’s unpredictable, sometimes happening when I change things and sometimes when I don’t.

Expected Result

It should run, obviously, without throwing an error that doesn’t exist. Or, barring that, it could give some kind of indication of where in the Begin Chase function it’s breaking. Or, barring that, it could give me SOMETHING to work with instead of just throwing a phantom error and crashing.

Observed Result

Behold, the crash report. I click the button I’ve made that activates the Begin Chase function, and it immediately crashes. It shows me an error that I’ve copied into the title of this bug report.

Affects Versions

5.8

Platform(s)

Windows

Upload an image

For crash reports, include your callstack

Script call stack:
Function /Game/Widgets/LearningControl.LearningControl_C:BndEvt__LearningControl_Chase_K2Node_ComponentBoundEvent_1_OnButtonClickedEvent__DelegateSignature
Function /Game/Widgets/LearningControl.LearningControl_C:ExecuteUbergraph_LearningControl
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Begin Chase
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector
Function /Game/LearningThing/LearningDirector.LearningDirector_C:Shuffle Positions
Function /Game/LearningThing/LearningDirector.LearningDirector_C:ExecuteUbergraph_LearningDirector

Additional Notes

Sometimes, it claims that the issue is coming from a For Loop. Sometimes, it claims it comes from Outputs. In both cases, it’s a Standard Macro that it directs me to.

In THIS case, there is a function that is calling itself in certain conditions.
This function shuffles the position of two units within a given range, and then each unit marks itself ‘ready.’ If there’s no ‘false’ bools in the ‘ready list,’ then everything should be ready, and it’ll start giving the chase commands.

Otherwise, it reshuffles the positions and tries again, until there’s no ‘false’ in the ready list. This isn’t an infinite loop.

That’s not a bug; if your branch is true, it enters an infinite loop :eyes: