ok this is a common problem for these engine what is wrong is the crank sensor is bad and needs to be replaced when it acts up it will change the timing and cause the engine to kick back and damage the starter.here is the procedure to fix that truck up.and make sure that flywheel has NO broken teeth.and of course put # XXXXX starter in it but after this fix it will be the last starter you put in it!
Condition:Some customers may comment on one or more of the following conditions:
Correction:Inspect for a stored power train DTC code P0338. This DTC will NOT illuminate the "Service Engine Soon" light. If this code is stored, the Crankshaft Position sensor, P/N 10456607, MUST be replaced and the remaining components inspected for damage (engine block at the starter boss, the starter drive housing, and the engine flywheel starter ring gear).
Notice : When DTC code P0338 is set, failure to replace the Crankshaft Position sensor could result in repeated inoperative conditions of the starter or flywheel.
Important : Some flywheel wear is normal; broken or missing teeth and/or cracks, are not normal.
Parts are currently available from GMSPO.