<div dir="ltr"><br><div>Here:  <a href="http://erlang.org/doc/man/gen_server.html#start_link-3">http://erlang.org/doc/man/gen_server.html#start_link-3</a>  we can read that start_link will return  {error, Reason} if init callback returns {stop, Reason}</div><div><br></div><div><br></div><div>Maybe I'm wrong, but it seems that it is not possible to get back clean reply, because gen_server.erl  has following code:</div><div><br></div><div>proc_lib:init_ack(Starter, {error, Reason}),  % here we may receive error tuple</div><div>exit(Reason)  </div><div><br></div><div>After exit caller is failing because of linkage. So if we want to have start_link, we cannot get clean logs and clearly get {error, Reason}  tuple.</div><div><br></div><div>Am I wrong?</div></div>