def METHOD_NAME(self, error: ExecutionFailedEventDetails) -> None:
    with self._state_mutex:
        self._program_state = ProgramError(error=error)
        for frame in self._frames:
            frame.METHOD_NAME(error=error)
        self.program_state_event.set()
        self.program_state_event.clear()