As a beginner it might be a little confusing to get the infinite loop exception error because you think "well.. I want a loop, so whats the problem?".. But there are good and bad ways to go about repeating and looping.
In most actions that are useful to run every frame there is an Every Frame checkbox. This makes the script/action continue to execute once every frame... Now, if you had a loop where you put Float Compare in the first state, then did a FINISHED event into another empty state, then directly back into the first state it would seem like its doing the same thing, right? Nope. The engine will process that whole entire loop thousands of times per second and be extremely inefficient. It hasn't been told to ever stop. With the Every Frame checkbox it is told to limit its execution to only once per frame so it runs it at the start of the frame, then waits until the next frame to do it again rather than blazing through an unchecked loop.
The key is basically just controlling the rate of things so the computer doesn't get out of hand processing things thousands of times when it shouldn't be.