anchor.diff:              end;
           {'$gc_unknown_event', NewState} -> NewState;
           {'$gc_exception', NewState} ->     NewState;
  +        unknown_event ->
  +            %% drop T2State, as it contains the error message
  +            TmpState = on_unknown_event(Msg, T1State),
  +            bp_step_done(Msg, TmpState);
           NewUState ->
               bp_step_done(Msg, gc_set_ustate(T1State, NewUState))
       end.
  
positive.code:     T1State = on_bp(Msg, State),
      Module  = gc_mod(T1State),
      Handler = gc_hand(T1State),
      T2State =
          try Handler(Msg, gc_ustate(T1State))
          catch Level:Reason ->
                  Stacktrace = erlang:get_stacktrace(),
                  case Stacktrace of
                      %% erlang < R15 : {Module, Handler, [Msg, State]}
                      %% erlang >= R15: {Module, Handler, [Msg, State], _}
                      [T | _] when
                            erlang:element(1, T) =:= Module andalso
                            erlang:element(2, T) =:= Handler andalso
                            erlang:element(3, T) =:= [Msg, T1State] andalso
                            Reason =:= function_clause andalso
                            Level =:= error ->
                          {'$gc_unknown_event',
  
negative.code:             "~n** Exception:~n ~.0p:~.0p~n"
              "** Current message:~n ~.0p~n"
              "** Module:~n ~.0p~n"
              "** Handler:~n ~.0p~n"
              "** Pid:~n ~p ~.0p~n"
              "** Source linetrace (enable in scalaris.hrl):~n ~.0p~n"
              "** State:~n ~.0p~n"
              "** Stacktrace:~n ~.0p~n",
              [Level, Reason,
               Msg,
               gc_mod(State),
               gc_hand(State),
               self(), pid_groups:group_and_name_of(self()),
               erlang:get(test_server_loc),
               State,
               Stacktrace]),
      State.
  
  