1. A computer program product comprising: a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising: running multiple threads simultaneously by the processing circuit, where each thread corresponds to a series of instructions; detecting a first hardware error in one or more hardware structures of the processing circuit; identifying one or more victim threads of the multiple threads, the one or more victim threads being associated with the one or more hardware structures; identifying a plurality of hardware structures holding information associated with execution of the one or more victim threads by the processing circuit; isolating the one or more victim threads by halting checkpointing of the one or more victim threads and by preventing access to information held in the plurality of hardware structures by the multiple threads; flushing the one or more victim threads by resetting hardware states of the plurality of hardware structures; restoring the one or more victim threads by restoring the plurality of hardware structures to a known safe state; and restarting instruction processing.