anchor.diff:      true ->
           twig:log(error,"Worker ~p died with reason: ~p", [Pid, Reason]),
           {stop, {worker_died, Pid, Reason}, State2}
  -    end.
  -
  +    end;
  +
  +handle_info(timeout, InitArgs) ->
  +    try do_init(InitArgs) of {ok, State} ->
  +        {noreply, State}
  +    catch Class:Error ->
  +        Stack = erlang:get_stacktrace(),
  +        {stop, shutdown, {error, Class, Error, Stack, InitArgs}}
  +    end.
   
   handle_call(get_details, _From, #rep_state{rep_details = Rep} = State) ->
       {reply, {ok, Rep}, State};
  
positive.code:     couch_replicator_notifier:notify({error, RepId, <<"cancelled">>}),
      terminate_cleanup(State);
  
  terminate(Reason, State) ->
      #rep_state{
          source_name = Source,
          target_name = Target,
  
negative.code:         [BaseId ++ Ext, Source, Target, to_binary(Reason)]),
      terminate_cleanup(State),
      couch_replicator_notifier:notify({error, RepId, Reason}),
      couch_replicator_manager:replication_error(Rep, Reason);
  
  terminate(shutdown, {error, Class, Error, Stack, InitArgs}) ->
      twig:log("~p:~p: Replication failed to start for args ~p: ~p",
          [Class, Error, InitArgs, Stack]).
  
  terminate_cleanup(State) ->
      update_task(State),
  