Random MCU Rescheduled timer errors

I have a BTT SKR Mini E3 V3 and ever so often a print will fail with the MCU shutdown ‘Rescheduled timer in the past’ error.
If I change nothing and run the exact same gcode it usually prints fine.
I’ve tried limiting speeds, changing accelerations, changing extruder to spreadcycle, but nothing seems to stops the behaviour.

I’ve attached a log from when this happened once, does anything jump out to what the actual cause is?
klippy (7).log (8.0 MB)

Unfortunately, there isn’t anything in the log indicating the cause of the Rescheduled timer in the past error. That’s usually the result of trying to take too many steps per second, but it didn’t seem that was the case for this log.

The log also contained a Lost communication with MCU 'mcu' error. If you’re having random errors like that then it usually the result of wiring/voltage/similar hardware issues - see: Frequently Asked Questions - Klipper documentation . It’s possible those types of hardware problems could also manifest as other random failure types.

It also looks like you’re running code from a few months ago. You may want to update to the latest code (on both the host and micro-controller), though it seems unlikely that will resolve the issues you are having.

-Kevin

That log itself was probably a bit old, my firmware is now up to date.
I also have the whole board powered via relay which when cut might be the ‘lost communication’ errors.
One thing though, I am connected via UART from pi to board but I didn’t hook up a ground as the pi and SKR share a ground via the same power supply unit. Could this cause too much noise on the UART signal to then cause problems like this?

In your case the error is not typical and as Kevin mentioned no further evidence in the logs. Unfortunately this means trial and error to find potential contributors or the root cause.
EMI is known to cause weird effects. Cabling is always a good candidate like wonky connectors, bad crimping, wires starting to break due to constant moving etc.

It is thought that this error is due to a low-level defect in the Klipper stm32g0 adc code. Anyone impacted should update to the latest version of Klipper. Stm32g0 users should update to latest Klipper

-Kevin

Wow Kevin, your dedication (and that of all the contributors) to Klipper is nothing less than astounding. Fingers crossed this ADC defect is what was causing my issues. Klipper has been updated on my machine now.
You’ve also gained a new patreon, I still can’t believe a product this good and supported this well is available open-source.