You need a gunsmith
Weak spring, bad magazine, dirt, etc..
Normally, I would look first to the fuel metering system for the cause of this problem.
I've had a problem with my O2 sensor and air filter causing my 1998 firebird to misfire.
Several problems can cause a 1999 Blazer not to start. There could be a fuel problem or a firing problem. Check for fuel pressure and ignition spark first.
Check the ignition coils and the crank sensor for the Yukon. Either one of these could be bad and cause the problem.
Worn spark plugs would cause mis-firing or non firing cylinders, both are no good for the engine, replacing the plugs may stop the knock (Could also be a different problem) But you should replace spark plugs as soon as possible.
Too much oil in the crankcase will cause the oil to slosh up into the firing chamber and foul up the spark plugs.
A vacuum leak can cause this problem. Also an incorrect idle could be the culprit. Check these before looking for possible fuel or firing issues.
Carbon buildup can keep a motor from firing and cause an engine to stall.
If the spring was loose.
The problem to your 2007 tour glide check engine could be tensioners.
The firing on Fort Sumter