Stuck in an interrupt?

You don't need interrupts for this :wink: 25ms is an eternity in nowadays microprocessors / microcontrollers.

unsigned long currentTime;
void loop()
{
  // start time of failsafe check period
  static unsigned long startTime = 0;
  // flag to remember if failsafe is triggered
  static bool fFailsafeActivated = false;


  // get current time
  currentTime = millis();

  // if 25 ms lapsed
  if(currentTime - startTime >=25000UL)
  {
     fFailsafeActivated = true;
  }

  
  // other code here
  if(fFailsafeActivated == true || ....)
  {
  }

}

I leave it up to you to implement a means to reset the failsafe flag.