Might as well let record_resume call internal_error if it fails, rather than setting a flag and trying to report on it later. The flag doesn't really work anyway -- looks like you wanted record_wait to return SIGABRT (not really the right thing either), but it doesn't. Instead we somehow return "no more reverse execution history". What do you think, Hui?