enough information. EXAMPLE: A BUGGY SERVER EXAMPLE: A BUGGY SERVER -module(my_server). -behaviour(gen_server). -export([start_link/0,get/0,put/1]). -export([init/1,handle_call/3,handle_cast/2]). start_link() -> gen_server:start_link({local, ?MODULE}, ?MODULE, [], []). init(_) -> {ok, some_initial_state}. get() -> gen_server:call(?MODULE, get). put(State) -> gen_server:call(?MODULE, {put, State}). handle_call(get, _From, State) -> {reply, State, State}. handle_cast({put, State}, _) -> {noreply, State}. $ erl 1> c(my_server). {ok,my_server} 2> my_server:start_link(). {ok,<0.85.0>} 3> my_server:get(). some_initial_state 4> my_server:put(some_precious_state). =ERROR REPORT==== ** Generic server my_server terminating ** Last message in was {put,some_precious_state} ** When Server state == some_initial_state ** Reason for termination == * {function_clause,[{my_server,handle_call, [{put,some_precious_state},... 3 . 1