Program: 4432
Project: 4432
Buggy source:
/** 
 * Returns the ConnectionStatus from the request. Can be one of: Connected -- means to immediately assignAndRequest. Queued -- means to sleep while queued. ThexResponse -- means the thex tree was received.
 */
public ConnectionStatus requestHashTree(){
  if (LOG.isDebugEnabled())   LOG.debug("String_Node_Str" + _thexUri + "String_Node_Str"+ _host+ "String_Node_Str"+ _port);
  try {
    String str;
    str="String_Node_Str" + _thexUri + "String_Node_Str";
    _output.write(str.getBytes());
    str="String_Node_Str" + _host + "String_Node_Str"+ _port+ "String_Node_Str";
    _output.write(str.getBytes());
    str="String_Node_Str" + CommonUtils.getHttpServer() + "String_Node_Str";
    _output.write(str.getBytes());
    str="String_Node_Str";
    _output.write(str.getBytes());
    _output.flush();
  }
 catch (  IOException ioe) {
    if (LOG.isDebugEnabled())     LOG.debug("String_Node_Str");
    return ConnectionStatus.getConnected();
  }
  try {
    String line=_byteReader.readLine();
    if (line == null)     throw new IOException("String_Node_Str");
    int code=parseHTTPCode(line,_rfd);
    if (code < 200 || code >= 300) {
      if (LOG.isDebugEnabled())       LOG.debug("String_Node_Str" + code);
      _rfd.setTHEXFailed();
      return consumeResponse(code);
    }
    int contentLength=consumeHeaders(null);
    InputStream in=_input;
    if (contentLength != -1)     in=new CountingInputStream(_input);
    try {
      HashTree hashTree=HashTree.createHashTree(in,_rfd.getSHA1Urn().toString(),_root32,(long)_rfd.getSize());
      return ConnectionStatus.getThexResponse(hashTree);
    }
 catch (    IOException ioe) {
      if (in instanceof CountingInputStream) {
        LOG.debug("String_Node_Str",ioe);
        _rfd.setTHEXFailed();
        int read=((CountingInputStream)in).getAmountRead();
        return consumeBody(contentLength - read);
      }
 else {
        throw ioe;
      }
    }
  }
 catch (  IOException ioe) {
    LOG.debug("String_Node_Str",ioe);
    _rfd.setTHEXFailed();
    return ConnectionStatus.getConnected();
  }
}

Fixed version (ground truth):
/** 
 * Returns the ConnectionStatus from the request. Can be one of: Connected -- means to immediately assignAndRequest. Queued -- means to sleep while queued. ThexResponse -- means the thex tree was received.
 */
public ConnectionStatus requestHashTree(){
  if (LOG.isDebugEnabled())   LOG.debug("String_Node_Str" + _thexUri + "String_Node_Str"+ _host+ "String_Node_Str"+ _port);
  try {
    String str;
    str="String_Node_Str" + _thexUri + "String_Node_Str";
    _output.write(str.getBytes());
    str="String_Node_Str" + _host + "String_Node_Str"+ _port+ "String_Node_Str";
    _output.write(str.getBytes());
    str="String_Node_Str" + CommonUtils.getHttpServer() + "String_Node_Str";
    _output.write(str.getBytes());
    str="String_Node_Str";
    _output.write(str.getBytes());
    _output.flush();
  }
 catch (  IOException ioe) {
    if (LOG.isDebugEnabled())     LOG.debug("String_Node_Str");
    return ConnectionStatus.getConnected();
  }
  try {
    String line=_byteReader.readLine();
    if (line == null)     throw new IOException("String_Node_Str");
    int code=parseHTTPCode(line,_rfd);
    if (code < 200 || code >= 300) {
      if (LOG.isDebugEnabled())       LOG.debug("String_Node_Str" + code);
      _rfd.setTHEXFailed();
      return consumeResponse(code);
    }
    int contentLength=consumeHeaders(null);
    InputStream in=_input;
    if (contentLength != -1)     in=new CountingInputStream(_input);
    try {
      HashTree hashTree=HashTree.createHashTree(in,_rfd.getSHA1Urn().toString(),_root32,(long)_rfd.getSize());
      _thexSucceeded=true;
      return ConnectionStatus.getThexResponse(hashTree);
    }
 catch (    IOException ioe) {
      if (in instanceof CountingInputStream) {
        LOG.debug("String_Node_Str",ioe);
        _rfd.setTHEXFailed();
        int read=((CountingInputStream)in).getAmountRead();
        return consumeBody(contentLength - read);
      }
 else {
        throw ioe;
      }
    }
  }
 catch (  IOException ioe) {
    LOG.debug("String_Node_Str",ioe);
    _rfd.setTHEXFailed();
    return ConnectionStatus.getConnected();
  }
}