def METHOD_NAME(self):
    # check that the right number of processors are in sync
    processors_completed = self.__txrx.get_core_state_count(
        self.__app_id, CPUState.FINISHED)
    total_processors = len(self.__all_cores)
    left_to_do_cores = total_processors - processors_completed
    progress = ProgressBar(
        left_to_do_cores,
        "Forcing error cores to generate provenance data")
    cpu_infos = self.__txrx.get_cpu_infos(
        self.__all_cores,
        [CPUState.RUN_TIME_EXCEPTION, CPUState.WATCHDOG, CPUState.IDLE],
        True)
    error_cores = cpu_infos.infos_for_state(CPUState.RUN_TIME_EXCEPTION)
    watchdog_cores = cpu_infos.infos_for_state(CPUState.WATCHDOG)
    idle_cores = cpu_infos.infos_for_state(CPUState.IDLE)
    if error_cores or watchdog_cores or idle_cores:
        raise ConfigurationException(
            "Some cores have crashed. "
            f"RTE cores {error_cores.values()}, "
            f"watch-dogged cores {watchdog_cores.values()}, "
            f"idle cores {idle_cores.values()}")
    # check that all cores are in the state FINISHED which shows that
    # the core has received the message and done provenance updating
    self._update_provenance(
        total_processors, processors_completed, progress)
    progress.end()