anchor.diff:  	Result ->
   	    init_result(Starter, Parent, ServerRef, Module, Result, Opts);
   	Class:Reason ->
  +	    Stacktrace = erlang:get_stacktrace(),
  +	    Name = gen:get_proc_name(ServerRef),
   	    gen:unregister_name(ServerRef),
   	    proc_lib:init_ack(Starter, {error,Reason}),
  -	    erlang:raise(Class, Reason, erlang:get_stacktrace())
  +	    error_info(
  +	      Class, Reason, Stacktrace,
  +	      #{name => Name, callback_mode => undefined},
  +	      [], [], undefined),
  +	    erlang:raise(Class, Reason, Stacktrace)
       end.
   
   %%---------------------------------------------------------------------------
  
positive.code: 	{shutdown,_} -> ok;
  	_ ->
  	    error_info(
  	      Class, Reason, Stacktrace, Debug, S, Q, P,
  	      format_status(terminate, get(), S, State, Data))
      end,
      case Stacktrace of
  	[] ->
  
negative.code: 	    proc_lib:init_ack(Starter, ignore),
  	    exit(normal);
  	_ ->
  	    Name = gen:get_proc_name(ServerRef),
  	    gen:unregister_name(ServerRef),
  	    Error = {bad_return_from_init,Result},
  	    proc_lib:init_ack(Starter, {error,Error}),
  	    error_info(
  	      error, Error, ?STACKTRACE(),
  	      #{name => Name, callback_mode => undefined},
  	      [], [], undefined),
  	    exit(Error)
      end.
  
  