anchor.diff:  %% large enough to reflect only error conditions. Expected wait time
   %% should be a fraction of a second, if any.
   await_aehttp() ->
  -    gproc:await({n,l,{epoch,app,aehttp}}, 10000). % should never timeout
  +    try
  +      gproc:await({n,l,{epoch,app,aehttp}}, 10000), % should (almost) never timeout
  +      ok
  +    catch error:{_Reason, _Args} ->
  +      {error, timeout}
  +    end.
   
   lookup_peer(Uri, #state{aliases = As, peers = Peers}) ->
       case gb_trees:lookup(Uri, As) of
  
positive.code:     ok.
  
  %%------------------------------------------------------------------------------
  %% Register an reported source address of known peer P. Ignored if P is unknown
  %%
  %% This is mainly intended to handle cases where a pinging peer and the
  %% pinged peer use different uris (peer uri vs "source" elem in ping obj).
  
negative.code:         false ->
              lager:debug("will ping peer ~p", [Uri]),
              aec_sync:schedule_ping(Peer, fun ping_peer/1);
          _Other ->
              lager:debug("will not ping ~p (~p)", [Uri, _Other]),
              ignore
  