This looks somewhat like the entry for your pending SVC handler in the ISR points to something that is not “naked,” meaning the compiler wraps the ISR into something that unwantedly saves/restores registers. That’s a no no for the service handler. Can you post your startup code as well as the declaration of your service ISR?