anchor.diff:  
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  +%% This mechanism has only one purpose: So that we are able to kill
  +%% the node-starter process if it takes to long. The node-starter
  +%% runs on the local node.
  +%% This crapola is hopefully temporary, but we have seen that on
  +%% some platforms the ct_slave:start simply hangs.
  +-define(NODE_START_TIMEOUT, 10000).
   start_node(Host, NodeName) ->
  +    start_node(Host, NodeName, ?NODE_START_TIMEOUT).
  +
  +start_node(Host, NodeName, Timeout) ->
  +    {NodeStarter, _} =
  +        spawn_monitor(fun() -> exit(start_unique_node(Host, NodeName)) end),
  +    receive
  +        {'DOWN', _, process, NodeStarter, Result} ->
  +            %% i("Node Starter (~p) reported: ~p", [NodeStarter, Result]),
  +            Result
  +    after Timeout ->
  +            exit(NodeStarter, kill),
  +            {error, {failed_starting_node, NodeName, timeout}}
  +    end.
  +
  +start_unique_node(Host, NodeName) ->
       UniqueNodeName = f("~w_~w", [NodeName, erlang:system_time(millisecond)]),
       case do_start_node(Host, UniqueNodeName) of
           {ok, _} = OK ->
  
positive.code:                    end},
           #{desc => "validate timeout time",
             cmd  => fun(#{start := Start, stop := Stop, timeout := To} = State) ->
                             TDiff  = tdiff(Start, Stop),
                             if
                                 (TDiff >= To) ->
                                     State1 = maps:remove(start, State),
  
negative.code:             ERROR
      end.
  
      
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  