fix self.failed being masked