P0300 Random misfire while under load

2004 GMC Sierra 2500 HD, 227,000 miles 6.0L V8.

While driving up hills or increasing load, the CEL will flash multiple times, I pull over as I know CEL flashing is not good. I turn the truck off, allow it to sit for a few minutes, whip out the code scanner, only code that was there happens to be P0300. Truck has poor MPGS, idles rough, loss of power.
this happens every time I drive this vehicle as I use this truck to pull my trailer that weighs around 4000 lbs. Problems come and go. Some days I can drive the truck for an hour with no problems, come up to a red-light, BAM, CEL is flashing, truck is bouncing side to side due to the poor idle, other days this happens while sitting in the parking lot of my job with the ac on.

Truck has been to the shop several times as I’m no mechanic. Parts replaced are as follows:

Fuel pump
Throttle Body
All plugs
All wires
All Coils
Intake Manifold Gasket
Battery
Sensor 1 Bank 1 O2 Sensor
Sensor 1 Bank 2 O2 sensor

Any help would be appreciated, as I’m getting very frustrated…

Thanks

Seems to me like you need a new/better mechanic - the one you’re using now is just throwing parts at a problem without diagnosing it first. This is my personal opinion, others might disagree.

I agree with chaissos. Random misfires can also be caused by vacuum leaks. Check carefully because some can be hard to find.

Do a search for “gmc p0300 Crankshaft Position Variation Relearn”

At 227k miles you might consider the possibility of compression issues which means the mechanical top end health of the engine.
If there’s a compression issue one can throw parts at it until hxxx freezes over with no improvement.

That’s also why every time I replace plugs in a car I always run a compression test; just to stay on top of the issue. The plugs are out anyway so why not spend another 5-10 minutes and answer the question at that time.
I’m also aware that this is seldom done.

Have your shop tell you which cylinders are misfiring. That will point us in the right direction. All the information as to which cylinders are misfiring, both current and in history, as well as fuel trim information, will help get to the bottom of this in short order.

All that info is available at the touch of a button with the scan tool.

From OBD-Codes.com for P0300, the ones marked Check you’ve already done.

Faulty spark plugs or wires — Check
Faulty coil (pack) — Check
Faulty oxygen sensor(s) — Check
Faulty fuel injector(s) — Could be this because of increased demand during towing
Burned exhaust valve — A compression test would find this
Faulty catalytic converter(s) — Could be this because of increased demand during towing
Stuck/blocked/leaking EGR valve / passages — I’d look here based on engine mileage
Faulty camshaft position sensor — Since this appears to be heat related, I’d try this
Defective computer

Read more at: http://www.obd-codes.com/p0300
Copyright OBD-Codes.com

All of the above makes me wonder how stretched out your timing chain actually IS… When this happens the computer is able to adjust for deviation…but not that far. Sounds like you are on the line of the computer being able to hide the amount of T chain stretch you currently have. The engines run well and last a long time…but the t chain never sleeps and it has more than given its all at this mileage.

I would be looking hard at that theory…but hey what do I know

Blackbird

@“Honda Blackbird”

I’m thinking timing chain too.

Tester

I think you can tell OP from the above posts there’s lots of things that can cause this. I’ll add my meager ideas to the list. I’ve had problems with pinging and misfiring only when going uphill on my Corolla, which was caused by spark plugs having too wide of gap. Since you replaced the plugs already, not likely to be the problem for you. But here’s another idea: When the engine is under a big load it has to move air in and exhaust out at its highest rate. So anything that impeded that flow could produce this symptom. So ask you shop to double-check the engine air filter is clean, and the cat isn’t plugged. You might want to ask them to clean the throttle body too. …oops, I see from above you’ve already replace that.