Program: 79426
Project: 79426
Buggy source:
protected void doStart(){
  if (isQuarantineEnabled()) {
    QuarantineGroup quarantineGroup=getAttribute(QUARANTINE_GROUP);
    if (quarantineGroup == null || !Entities.isManaged(quarantineGroup)) {
      quarantineGroup=addChild(EntitySpec.create(QuarantineGroup.class).displayName("String_Node_Str"));
      Entities.manage(quarantineGroup);
      setAttribute(QUARANTINE_GROUP,quarantineGroup);
    }
  }
  int initialSize=getConfig(INITIAL_SIZE).intValue();
  int initialQuorumSize=getInitialQuorumSize();
  Exception resizeException=null;
  try {
    resize(initialSize);
  }
 catch (  Exception e) {
    Exceptions.propagateIfFatal(e);
    LOG.debug("String_Node_Str" + this + "String_Node_Str"+ initialSize+ "String_Node_Str"+ e,e);
    resizeException=e;
  }
  Iterable<Task<?>> failed=Tasks.failed(Tasks.children(Tasks.current()));
  Iterator<Task<?>> fi=failed.iterator();
  boolean noFailed=true, severalFailed=false;
  if (fi.hasNext()) {
    noFailed=false;
    fi.next();
    if (fi.hasNext())     severalFailed=true;
  }
  int currentSize=getCurrentSize().intValue();
  if (currentSize < initialQuorumSize) {
    String message;
    if (currentSize == 0 && !noFailed) {
      if (severalFailed)       message="String_Node_Str" + this + "String_Node_Str";
 else       message="String_Node_Str" + this + "String_Node_Str";
    }
 else {
      message="String_Node_Str" + this + "String_Node_Str"+ initialSize+ "String_Node_Str"+ getCurrentSize()+ (initialQuorumSize != initialSize ? "String_Node_Str" + initialQuorumSize + "String_Node_Str" : "String_Node_Str");
    }
    Throwable firstError=Tasks.getError(Maybe.next(failed.iterator()).orNull());
    if (firstError != null) {
      if (severalFailed) {
        message+="String_Node_Str" + Exceptions.collapseText(firstError);
      }
 else {
        message+="String_Node_Str" + Exceptions.collapseText(firstError);
      }
    }
 else {
      firstError=resizeException;
    }
    throw new IllegalStateException(message,firstError);
  }
 else   if (currentSize < initialSize) {
    LOG.warn("String_Node_Str",new Object[]{this,currentSize,initialQuorumSize,initialSize});
  }
  for (  Policy it : getPolicies()) {
    it.resume();
  }
}

Fixed version (ground truth):
protected void doStart(){
  if (isQuarantineEnabled()) {
    QuarantineGroup quarantineGroup=getAttribute(QUARANTINE_GROUP);
    if (quarantineGroup == null || !Entities.isManaged(quarantineGroup)) {
      quarantineGroup=addChild(EntitySpec.create(QuarantineGroup.class).displayName("String_Node_Str"));
      Entities.manage(quarantineGroup);
      setAttribute(QUARANTINE_GROUP,quarantineGroup);
    }
  }
  int initialSize=getConfig(INITIAL_SIZE).intValue();
  int initialQuorumSize=getInitialQuorumSize();
  Exception internalError=null;
  try {
    resize(initialSize);
  }
 catch (  Exception e) {
    Exceptions.propagateIfFatal(e);
    LOG.debug("String_Node_Str" + this + "String_Node_Str"+ initialSize+ "String_Node_Str"+ e,e);
    internalError=e;
  }
  Iterable<Task<?>> failed=Tasks.failed(Tasks.children(Tasks.current()));
  boolean noFailed=Iterables.isEmpty(failed);
  boolean severalFailed=Iterables.size(failed) > 1;
  int currentSize=getCurrentSize().intValue();
  if (currentSize < initialQuorumSize) {
    String message;
    if (currentSize == 0 && !noFailed) {
      if (severalFailed)       message="String_Node_Str" + this + "String_Node_Str";
 else       message="String_Node_Str" + this + "String_Node_Str";
    }
 else {
      message="String_Node_Str" + this + "String_Node_Str"+ initialSize+ "String_Node_Str"+ getCurrentSize()+ (initialQuorumSize != initialSize ? "String_Node_Str" + initialQuorumSize + "String_Node_Str" : "String_Node_Str");
    }
    Throwable firstError=Tasks.getError(Maybe.next(failed.iterator()).orNull());
    if (firstError == null && internalError != null) {
      firstError=internalError;
    }
    if (firstError != null) {
      if (severalFailed) {
        message+="String_Node_Str" + Exceptions.collapseText(firstError);
      }
 else {
        message+="String_Node_Str" + Exceptions.collapseText(firstError);
      }
    }
    throw new IllegalStateException(message,firstError);
  }
 else   if (currentSize < initialSize) {
    LOG.warn("String_Node_Str",new Object[]{this,currentSize,initialQuorumSize,initialSize});
  }
  for (  Policy it : getPolicies()) {
    it.resume();
  }
}