Program: 59706
Project: 59706
Buggy source:
public synchronized void onEvaluatorHeartbeatMessage(final RemoteMessage<EvaluatorRuntimeProtocol.EvaluatorHeartbeatProto> evaluatorHeartbeatProtoRemoteMessage){
  final EvaluatorRuntimeProtocol.EvaluatorHeartbeatProto evaluatorHeartbeatProto=evaluatorHeartbeatProtoRemoteMessage.getMessage();
  LOG.log(Level.FINEST,"String_Node_Str",evaluatorHeartbeatProto);
  this.sanityChecker.check(evaluatorId,evaluatorHeartbeatProto.getTimestamp());
  final String evaluatorRID=evaluatorHeartbeatProtoRemoteMessage.getIdentifier().toString();
  if (evaluatorHeartbeatProto.hasRecovery() && evaluatorHeartbeatProto.getRecovery()) {
    this.evaluatorControlHandler.setRemoteID(evaluatorRID);
    this.stateManager.setRunning();
    this.evaluatorId=evaluatorRID;
    LOG.log(Level.FINE,"String_Node_Str",this.evaluatorId);
  }
  if (this.stateManager.isSubmitted()) {
    this.evaluatorControlHandler.setRemoteID(evaluatorRID);
    this.stateManager.setRunning();
    LOG.log(Level.FINEST,"String_Node_Str",this.evaluatorId);
  }
  if (evaluatorHeartbeatProto.hasEvaluatorStatus()) {
    this.onEvaluatorStatusMessage(evaluatorHeartbeatProto.getEvaluatorStatus());
  }
  for (  final ReefServiceProtos.ContextStatusProto contextStatusProto : evaluatorHeartbeatProto.getContextStatusList()) {
    this.onContextStatusMessage(contextStatusProto,!evaluatorHeartbeatProto.hasTaskStatus());
  }
  if (evaluatorHeartbeatProto.hasTaskStatus()) {
    this.onTaskStatusMessage(evaluatorHeartbeatProto.getTaskStatus());
  }
  LOG.log(Level.FINE,"String_Node_Str",this.getId());
}

Fixed version (ground truth):
public synchronized void onEvaluatorHeartbeatMessage(final RemoteMessage<EvaluatorRuntimeProtocol.EvaluatorHeartbeatProto> evaluatorHeartbeatProtoRemoteMessage){
  final EvaluatorRuntimeProtocol.EvaluatorHeartbeatProto evaluatorHeartbeatProto=evaluatorHeartbeatProtoRemoteMessage.getMessage();
  LOG.log(Level.FINEST,"String_Node_Str",evaluatorHeartbeatProto);
  this.sanityChecker.check(evaluatorId,evaluatorHeartbeatProto.getTimestamp());
  final String evaluatorRID=evaluatorHeartbeatProtoRemoteMessage.getIdentifier().toString();
  if (evaluatorHeartbeatProto.hasRecovery() && evaluatorHeartbeatProto.getRecovery()) {
    this.evaluatorControlHandler.setRemoteID(evaluatorRID);
    this.stateManager.setRunning();
    this.evaluatorId=evaluatorHeartbeatProto.getEvaluatorStatus().getEvaluatorId();
    LOG.log(Level.FINE,"String_Node_Str",this.evaluatorId);
  }
  if (this.stateManager.isSubmitted()) {
    this.evaluatorControlHandler.setRemoteID(evaluatorRID);
    this.stateManager.setRunning();
    LOG.log(Level.FINEST,"String_Node_Str",this.evaluatorId);
  }
  if (evaluatorHeartbeatProto.hasEvaluatorStatus()) {
    this.onEvaluatorStatusMessage(evaluatorHeartbeatProto.getEvaluatorStatus());
  }
  for (  final ReefServiceProtos.ContextStatusProto contextStatusProto : evaluatorHeartbeatProto.getContextStatusList()) {
    this.onContextStatusMessage(contextStatusProto,!evaluatorHeartbeatProto.hasTaskStatus());
  }
  if (evaluatorHeartbeatProto.hasTaskStatus()) {
    this.onTaskStatusMessage(evaluatorHeartbeatProto.getTaskStatus());
  }
  LOG.log(Level.FINE,"String_Node_Str",this.getId());
}