Program: 33092
Project: 33092
Buggy source:
protected boolean searchSomethingAround(int cx,int cy,int cz){
  if (data.offsetX != cx - SIZE_X_Z / 2 || data.offsetY != cy - Y_LEVEL / 2 || data.offsetZ != cz - SIZE_X_Z / 2) {
    isRunning=false;
  }
  if (!isRunning) {
    System.out.println("String_Node_Str");
    field=new int[FIELD_SIZE];
    data.offsetX=cx - SIZE_X_Z / 2;
    data.offsetY=cy - Y_LEVEL / 2;
    data.offsetZ=cz - SIZE_X_Z / 2;
    pqClear();
    final int start=getIndexForBlock(cx,cy,cz);
    setDistance(start,1);
    pqAdd(start,1);
    final float startRating=rateDestination(start);
    if (startRating >= 0) {
      currentDest=new Dest(start,startRating);
    }
 else {
      currentDest=null;
    }
    isRunning=true;
  }
  startTime=System.currentTimeMillis();
  long iteration=0;
  while (!pqEmpty() && ((iteration++ & 0xff) != 0 || hasTimeLeft(startTime))) {
    final int currentNode=pqPoll();
    final int currentDistance=getDistance(currentNode);
    if (currentDest != null && currentDistance + 1 > currentDest.destDistanceRating) {
      pqClear();
      break;
    }
    final float rating=rateDestination(currentNode);
    if (rating >= 0) {
      final Dest newDest=new Dest(currentNode,rating);
      if (currentDest == null || newDest.compareTo(currentDest) < 0) {
        currentDest=newDest;
      }
    }
    final int[] neighbours=getNeighbours(currentNode);
    for (    final int n : neighbours) {
      if (n < 0) {
        continue;
      }
      if (isVisited(n)) {
        continue;
      }
      final int distance=distanceFor(currentNode,n) + currentDistance;
      if (!isInQueue(n)) {
        setDistance(n,distance);
        setMoveFrom(n,currentNode);
        setInQueue(n);
        pqAdd(n,distance);
      }
 else {
        int oldDistance=getDistance(n);
        if (distance < oldDistance) {
          setDistance(n,distance);
          setMoveFrom(n,currentNode);
          pqUpdate(n,oldDistance,distance);
        }
      }
    }
    setVisited(currentNode);
  }
  if (pqEmpty()) {
    if (currentDest != null) {
      planPathTo(currentDest.destNode,cx,cy,cz);
      terminated();
    }
 else {
      noPathFound();
      terminated();
    }
    return true;
  }
 else {
    System.out.println("String_Node_Str" + iteration + "String_Node_Str");
    pqStats();
    return false;
  }
}

Fixed version (ground truth):
protected boolean searchSomethingAround(int cx,int cy,int cz){
  if (data.offsetX != cx - SIZE_X_Z / 2 || data.offsetY != cy - Y_LEVEL / 2 || data.offsetZ != cz - SIZE_X_Z / 2) {
    isRunning=false;
  }
  if (!isRunning) {
    System.out.println("String_Node_Str");
    field=new int[FIELD_SIZE];
    data.offsetX=cx - SIZE_X_Z / 2;
    data.offsetY=cy - Y_LEVEL / 2;
    data.offsetZ=cz - SIZE_X_Z / 2;
    pqClear();
    final int start=getIndexForBlock(cx,cy,cz);
    setDistance(start,1);
    pqAdd(start,1);
    final float startRating=rateDestination(start);
    if (startRating >= 0) {
      currentDest=new Dest(start,startRating);
    }
 else {
      currentDest=null;
    }
    isRunning=true;
  }
  startTime=System.currentTimeMillis();
  long iteration=0;
  while (!pqEmpty() && ((iteration++ & 0xff) != 0 || hasTimeLeft(startTime))) {
    final int currentNode=pqPoll();
    final int currentDistance=getDistance(currentNode);
    if (currentDest != null && currentDistance + 1 > currentDest.destDistanceRating) {
      pqClear();
      break;
    }
    final float rating=rateDestination(currentNode);
    if (rating >= 0) {
      final Dest newDest=new Dest(currentNode,rating);
      if (currentDest == null || newDest.compareTo(currentDest) < 0) {
        currentDest=newDest;
      }
    }
    final int[] neighbours=getNeighbours(currentNode);
    for (    final int n : neighbours) {
      if (n < 0) {
        continue;
      }
      final int distance=distanceFor(currentNode,n) + currentDistance;
      if (isVisited(n)) {
        if (distance < getDistance(n)) {
          System.out.println("String_Node_Str" + n);
        }
        continue;
      }
      if (!isInQueue(n)) {
        setDistance(n,distance);
        setMoveFrom(n,currentNode);
        setInQueue(n);
        pqAdd(n,distance);
      }
 else {
        int oldDistance=getDistance(n);
        if (distance < oldDistance) {
          setDistance(n,distance);
          setMoveFrom(n,currentNode);
          pqUpdate(n,oldDistance,distance);
        }
      }
    }
    setVisited(currentNode);
  }
  if (pqEmpty()) {
    if (currentDest != null) {
      planPathTo(currentDest.destNode,cx,cy,cz);
      terminated();
    }
 else {
      noPathFound();
      terminated();
    }
    return true;
  }
 else {
    System.out.println("String_Node_Str" + iteration + "String_Node_Str");
    pqStats();
    return false;
  }
}