Note that we should set the active checkpoint to zero if and only if we are really in forwarding (namely, do not re-execute any instruction) because the logic of the memory logging function.