anchor.diff:  
   handle_info({'EXIT', Pid, Reason}, S) when Pid == self() ->
       error_logger:warning_report({"GC: dying on error!", Reason}),
  +    cleanup_for_exit(S),
       {stop, stop_requested, S};
   
   handle_info({'EXIT', Pid, normal}, #state{phase = rr_blobs_wait, rr_pid = RR} = S)
  
positive.code:             % We haven't made progress. Stop GC.
              error_logger:error_report({"GC: progress timeout in phase",
                                         S#state.phase}),
              {stop, progress_timeout, S}
      end;
  handle_info(check_progress, S) ->
      % We don't need this timer in the RR phases.
  
negative.code:         {Node, Failures} when Failures > ?MAX_GC_NODE_FAILURES ->
              error_logger:error_report({"GC: too many failures",
                                         Node, Failures, Phase}),
              cleanup_for_exit(S),
              {stop, shutdown, S};
          {Node, Failures} ->
              error_logger:warning_report({"GC: Node disconnected",
                                           Node, Failures, Reason, Phase}),
  