Following the events it looks like you've created an infinite loop when pressing the fire button:
PlayerController > FirePressedEvent > FireShot > PlayerController > FirePressedEvent...
To break this loop, add a Next Frame Event to FireShot. This will fire the shot and then return to PlayerController in the next frame.
If you need to move while holding the fire button it would be best to make it a separate FSM (E.g., FireController).
Generally parallel behaviors should each have their own FSM. A state machine can have only one active state, so if you start describing states with an "and" (E.g., Moving and Firing) then you should probably split up the FSMs (a MovingFSM and a FiringFSM). You can do it in one FSM, but things get complicated quickly and it becomes harder to add new states. It's better to use multiple simple FSMs.
Hope this makes sense!