Having issues with using simultaneous timers [STM32]
If you have an interrupt firing at a frequency of 50 kHz with a 2 MHz clock for your core, that leaves 40 clock cycles to do work between two interrupts.

That is quite few, it already takes some cycles to enter and leave the interrupt, so you get even less for actual work.

In the comment you stated that you are "simply" reading some SPI data. If it would be just transferring data out of the SPI data register, that might be fine - but then you would do that in an SPI interrupt. So I guess this reading involves more than that.

And with that I am pretty sure that you need more cycles in the interrupt routine than available. Which results in the next timer interrupt being queued up while still handling the old one.

In that case you are never going to leave the interrupt and the rest of the program will never get the chance to execute. Interrupt priorities might change this a bit (other interrupts will be handled) but you will not get to your main code.

To change this you either reduce the frequency of the interrupt or increase the clock frequency of the core.