Animation stopping after the second keyframe

I am having this issue with my swing animation, and it is randomly stopping and I can’t fix it. It is cutting off the last half of the animation. Here is a short clip of it: Sorry for bad quality
Here is the snippet of my module:

--// Starting
-- Make the animation
	local _anim = script.Animations:FindFirstChild(tostring(sets.SwingAnimation[1]))
	if not _anim then
		_anim = Instance.new("Animation", script.Animations)
		_anim.Name = sets.SwingAnimation[1]
		_anim.AnimationId = "rbxassetid://" .. tostring(sets.SwingAnimation[1])
	end
	
	-- Play the animation
	local _track = sets.CurrentUser.Humanoid.Animator:LoadAnimation(_anim)
	_track:Play()

--// Ending
_track.Stopped:Connect(function()
		coroutine.resume(coroutine.create(function()
			print("Waiting...")
			wait(sets.SwingCooldown)
			print("Wait done!")
			QOL:SetVal(tool, "Swinging", false, "BoolValue")
			
			-- End swinging
			if RUN:IsClient() then
				_from_client:FireServer(false, tool, sets.Damage)
			else 
				_from_server:Fire(nil, false, tool, sets.Damage)
			end
		end))
	end)

The QOL module is just for setting values, and if they don’t exist, makes them with that value.
sets has some data about the sword
Thanks!

EDIT:
I found out that the animation IS playing. The Motor6D isn’t connecting properly. Here is the code that connects it:

sets.CurrentUser.Torso:WaitForChild("RHand").Part1 = tool.Handle
sets.CurrentUser.Torso:WaitForChild("RHand").Enabled = true

The object exists, the part1 get set, but it isn’t working in the animations. Why?
Thanks again!

_track.Stopped:Connect(function()
	coroutine.resume(coroutine.create(function()
		print("Waiting...")
		wait(sets.SwingCooldown)
		print("Wait done!")
		QOL:SetVal(tool, "Swinging", false, "BoolValue")

		-- End swinging
		if RUN:IsClient() then
			_from_client:FireServer(false, tool, sets.Damage)
		else 
			_from_server:Fire(nil, false, tool, sets.Damage)
		end
	end))
end)

Unrelated but the coroutine isn’t necessary here, callbacks of event connections are ran in their own threads of execution anyway. The issue you’re facing may be related to the animation’s priority.