MCU 'ercf' shutdown: Timer too close

But I use this system for a long time, there’s no such error before.

I possibly can not know what there was and what has changed, nor I should.
If behavior changes, that means something is changed.
You are free to guess, if you will, or start monitoring everything and try to find what is wrong.
There is general information about this error is available here: Timer too close

Is it reasonable due to old kernel?

There is a recent documentation update:
https://www.klipper3d.org/CANBUS_Troubleshooting.html#check-for-incrementing-bytes_invalid-counter

Which clarify bytes invalid, so I may only suggest following the general guide, if it is expected to not work reliably on old kernel and expected to works reliably on a new one, then it is make sense to just use a new one if possible.

It is hard to say, what specifically caused the error you see, you have a lot of modifications, but as I mentioned above, there are 2 suspicious things, that I can come up with, host load and CAN bytes invalid.

This is possible, that after you upgrade distribution and klipper, it will reproduce differently, and then there should be another log analyzing iteration.

So, right now I suggest doing the above, to possibly solve 2 known things, like slow GC on underpowered hosts, and avoid kernel bugs, which can cause issues with CAN.