Program: 111599
Project: 111599
Buggy source:
/** 
 * Load index data from .fbi file to   {@link #idx idx}.
 */
private void loadIndex(){
  if (fbiURL != null && fbkURL != null) {
    FbsEntryPoint[] newIndex;
    int numRecordsRead=0;
    try {
      URLConnection connection=fbiURL.openConnection();
      connection.connect();
      DataInputStream is=new DataInputStream(connection.getInputStream());
      byte[] b=new byte[12];
      is.readFully(b);
      if (b[0] != 'F' || b[1] != 'B' || b[2] != 'I' || b[3] != ' ' || b[4] != '0' || b[5] != '0' || b[6] != '1' || b[7] != '.' || b[8] < '0' || b[8] > '9' || b[9] < '0' || b[9] > '9' || b[10] < '0' || b[10] > '9' || b[11] != '\n') {
        System.err.println("String_Node_Str");
        return;
      }
      int numRecords=is.readInt();
      if (numRecords <= 0) {
        System.err.println("String_Node_Str");
        return;
      }
      newIndex=new FbsEntryPoint[numRecords];
      try {
        for (int i=0; i < numRecords; i++) {
          FbsEntryPoint record=new FbsEntryPoint();
          record.timestamp=(long)is.readInt() & 0xFFFFFFFFL;
          record.key_fpos=(long)is.readInt() & 0xFFFFFFFFL;
          record.key_size=(long)is.readInt() & 0xFFFFFFFFL;
          record.fbs_fpos=(long)is.readInt() & 0xFFFFFFFFL;
          record.fbs_skip=(long)is.readInt() & 0xFFFFFFFFL;
          newIndex[i]=record;
          numRecordsRead++;
        }
      }
 catch (      EOFException e) {
        System.err.println("String_Node_Str");
      }
catch (      IOException e) {
        System.err.println("String_Node_Str" + e);
      }
      if (numRecordsRead == 0) {
        System.err.println("String_Node_Str");
        return;
      }
 else       if (numRecordsRead != numRecords) {
        System.err.println("String_Node_Str");
      }
    }
 catch (    FileNotFoundException e) {
      System.err.println("String_Node_Str" + e.getMessage());
      return;
    }
catch (    IOException e) {
      System.err.println(e);
      System.err.println("String_Node_Str");
      return;
    }
    idx=newIndex;
    System.err.println("String_Node_Str" + numRecordsRead + "String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Load index data from .fbi file to   {@link #idx idx}.
 */
private void loadIndex(){
  if (fbiURL != null && fbkURL != null) {
    FbsEntryPoint[] newIndex;
    int numRecordsRead=0;
    try {
      URLConnection connection=fbiURL.openConnection();
      connection.connect();
      DataInputStream is=new DataInputStream(connection.getInputStream());
      byte[] b=new byte[12];
      is.readFully(b);
      if (b[0] != 'F' || b[1] != 'B' || b[2] != 'I' || b[3] != ' ' || b[4] != '0' || b[5] != '0' || b[6] != '1' || b[7] != '.' || b[8] < '0' || b[8] > '9' || b[9] < '0' || b[9] > '9' || b[10] < '0' || b[10] > '9' || b[11] != '\n') {
        System.err.println("String_Node_Str");
        return;
      }
      int numRecords=is.readInt();
      if (numRecords <= 0) {
        System.err.println("String_Node_Str");
        return;
      }
      newIndex=new FbsEntryPoint[numRecords];
      try {
        for (int i=0; i < numRecords; i++) {
          FbsEntryPoint record=new FbsEntryPoint();
          record.timestamp=(long)is.readInt() & 0xFFFFFFFFL;
          record.key_fpos=(long)is.readInt() & 0xFFFFFFFFL;
          record.key_size=(long)is.readInt() & 0xFFFFFFFFL;
          record.fbs_fpos=(long)is.readInt() & 0xFFFFFFFFL;
          record.fbs_skip=(long)is.readInt() & 0xFFFFFFFFL;
          newIndex[i]=record;
          numRecordsRead++;
        }
      }
 catch (      EOFException e) {
        System.err.println("String_Node_Str");
      }
catch (      IOException e) {
        System.err.println("String_Node_Str" + e);
      }
      if (numRecordsRead == 0) {
        System.err.println("String_Node_Str");
        return;
      }
 else       if (numRecordsRead != numRecords) {
        System.err.println("String_Node_Str");
      }
    }
 catch (    FileNotFoundException e) {
      System.err.println("String_Node_Str" + e.getMessage());
      return;
    }
catch (    IOException e) {
      System.err.println(e);
      System.err.println("String_Node_Str");
      return;
    }
    idx=newIndex;
    numIndexRecords=numRecordsRead;
    System.err.println("String_Node_Str" + numRecordsRead + "String_Node_Str");
  }
}