Program: 88934
Project: 88934
Buggy source:
private void doSongRequest(String sender,String id){
  updateSongLists();
  String infoUrl="String_Node_Str" + id + "String_Node_Str";
  GetMethod get=new GetMethod(infoUrl);
  HttpClient client=new HttpClient();
  try {
    int errcode=client.executeMethod(get);
    if (errcode != 200) {
      System.out.println("String_Node_Str" + errcode + "String_Node_Str"+ infoUrl);
      return;
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
    return;
  }
  try {
    String resp=get.getResponseBodyAsString();
    if (resp == null) {
      System.out.println("String_Node_Str" + infoUrl);
      return;
    }
    JSONObject obj=new JSONObject(resp);
    JSONObject data=obj.getJSONObject("String_Node_Str");
    String title=data.getString("String_Node_Str");
    int durationSeconds=data.getInt("String_Node_Str");
    if (durationSeconds / 60.0 > songLengthAllowedMinutes()) {
      denySong(sender,"String_Node_Str" + songLengthAllowedMinutes() + "String_Node_Str");
      return;
    }
    if (songList.size() >= DjConfiguration.maxSize) {
      denySong(sender,"String_Node_Str" + DjConfiguration.maxSize);
      return;
    }
    if (currentSong != null && id.equals(currentSong.getVideoId())) {
      denySong(sender,"String_Node_Str" + title + "String_Node_Str");
      return;
    }
    if (idCountInMainList(id) > 0) {
      denySong(sender,"String_Node_Str" + title + "String_Node_Str");
      return;
    }
    if (idInRecentHistory(id)) {
      denySong(sender,"String_Node_Str" + title + "String_Node_Str"+ DjConfiguration.recencyDays+ "String_Node_Str");
      return;
    }
    if (senderCount(sender) >= 2) {
      denySong(sender,"String_Node_Str");
      return;
    }
    if (moveToPrimaryIfSongInSecondary(id)) {
      sendMessage(channel,sender + "String_Node_Str" + title+ "String_Node_Str");
      return;
    }
    ObjectMapper mapper=new ObjectMapper();
    sendMessage(channel,sender + "String_Node_Str" + title+ "String_Node_Str");
    SongEntry newSong=new SongEntry(title,id,nextRequestId,sender,new Date().getTime());
    ++nextRequestId;
    songList.add(newSong);
    String songJson=mapper.writeValueAsString(newSong);
    FileUtils.writeStringToFile(new File(DjConfiguration.queueHistoryFilePath),songJson + "String_Node_Str","String_Node_Str",true);
  }
 catch (  IOException e) {
    e.printStackTrace();
    return;
  }
}

Fixed version (ground truth):
private void doSongRequest(String sender,String id){
  updateQueuesForLeavers();
  String infoUrl="String_Node_Str" + id + "String_Node_Str";
  GetMethod get=new GetMethod(infoUrl);
  HttpClient client=new HttpClient();
  try {
    int errcode=client.executeMethod(get);
    if (errcode != 200) {
      System.out.println("String_Node_Str" + errcode + "String_Node_Str"+ infoUrl);
      return;
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
    return;
  }
  try {
    String resp=get.getResponseBodyAsString();
    if (resp == null) {
      System.out.println("String_Node_Str" + infoUrl);
      return;
    }
    JSONObject obj=new JSONObject(resp);
    JSONObject data=obj.getJSONObject("String_Node_Str");
    String title=data.getString("String_Node_Str");
    int durationSeconds=data.getInt("String_Node_Str");
    if (durationSeconds / 60.0 > songLengthAllowedMinutes()) {
      denySong(sender,"String_Node_Str" + songLengthAllowedMinutes() + "String_Node_Str");
      return;
    }
    if (songList.size() >= DjConfiguration.maxSize) {
      denySong(sender,"String_Node_Str" + DjConfiguration.maxSize);
      return;
    }
    if (currentSong != null && id.equals(currentSong.getVideoId())) {
      denySong(sender,"String_Node_Str" + title + "String_Node_Str");
      return;
    }
    if (idCountInMainList(id) > 0) {
      denySong(sender,"String_Node_Str" + title + "String_Node_Str");
      return;
    }
    if (idInRecentHistory(id)) {
      denySong(sender,"String_Node_Str" + title + "String_Node_Str"+ DjConfiguration.recencyDays+ "String_Node_Str");
      return;
    }
    if (senderCount(sender) >= 2) {
      denySong(sender,"String_Node_Str");
      return;
    }
    if (moveToPrimaryIfSongInSecondary(id)) {
      sendMessage(channel,sender + "String_Node_Str" + title+ "String_Node_Str");
      return;
    }
    ObjectMapper mapper=new ObjectMapper();
    sendMessage(channel,sender + "String_Node_Str" + title+ "String_Node_Str");
    SongEntry newSong=new SongEntry(title,id,nextRequestId,sender,new Date().getTime());
    ++nextRequestId;
    songList.add(newSong);
    String songJson=mapper.writeValueAsString(newSong);
    FileUtils.writeStringToFile(new File(DjConfiguration.queueHistoryFilePath),songJson + "String_Node_Str","String_Node_Str",true);
    updatePlayedSongsFile();
  }
 catch (  IOException e) {
    e.printStackTrace();
    return;
  }
}