anchor.diff:                          {"Task failed to call exit_worker", Node, T}),
                   event_server:event(Node, T#task.jobname,
                           "WARN: [~s:~B] Died unexpectedly without a reason",
  -                                [T#task.mode, T#task.taskid], []),
  +                                [T#task.mode, T#task.taskid],
  +                                        {task_failed, T#task.mode}),
                   gen_server:cast(self(), {exit_worker, Pid,
                           {data_error, "unexpected"}}),
                   {noreply, S}
  
positive.code:         {Node, T} = gb_trees:get(Pid, S#state.workers),
          event_server:event(Node, T#task.jobname,
                  "WARN: [~s:~B] Connection lost to the node (network busy?)",
                          [T#task.mode, T#task.taskid], []),
          gen_server:cast(self(), {exit_worker, Pid, {data_error, "noconnection"}}),
          {noreply, S};
  
  
negative.code: handle_info({'EXIT', Pid, {worker_dies, {Msg, Args}}}, S) ->
          {Node, T} = gb_trees:get(Pid, S#state.workers),
          event_server:event(Node, T#task.jobname, "WARN: [~s:~B] ~s",
                  [T#task.mode, T#task.taskid, io_lib:fwrite(Msg, Args)],
                          {task_failed, T#task.mode}),
          gen_server:cast(self(), {exit_worker, Pid, {data_error, "worker_dies"}}),
          {noreply, S};
          
  