Program: 121097
Project: 121097
Buggy source:
public CsvArray run() throws ProcessorException {
  CsvArray array=new CsvArray();
  buildProcess();
  IProcessor processor=ProcessorUtilities.getProcessor(process,null);
  processor.setContext(selectContext);
  File previousFile=temppath.toFile();
  if (previousFile.exists()) {
    previousFile.delete();
  }
  java.lang.Process executeprocess=processor.run(IProcessor.NO_STATISTICS,IProcessor.NO_TRACES,null);
  StringBuffer buffer=new StringBuffer();
  ProcessStreamTrashReaderUtil.readAndForget(executeprocess,buffer);
  final String errorMessage=buffer.toString();
  if (!"String_Node_Str".equals(buffer.toString())) {
    throw new ProcessorException(errorMessage){
      private static final long serialVersionUID=1L;
      @Override public synchronized Throwable initCause(      Throwable cause){
        return super.initCause(cause);
      }
      @Override public String getMessage(){
        StringTokenizer tokenizer=new StringTokenizer(errorMessage,"String_Node_Str");
        StringBuilder sqlError=new StringBuilder();
        if (tokenizer.countTokens() > 2) {
          tokenizer.nextToken();
          sqlError.append(tokenizer.nextToken()).append("String_Node_Str");
        }
        return sqlError.toString();
      }
    }
;
  }
 else {
    try {
      array=array.createFrom(previousFile,currentProcessEncoding);
    }
 catch (    IOException ioe) {
      throw new ProcessorException(ioe){
        @Override public String getMessage(){
          return Messages.getString("String_Node_Str",System.getProperty("String_Node_Str"));
        }
      }
;
    }
  }
  return array;
}

Fixed version (ground truth):
public CsvArray run() throws ProcessorException {
  CsvArray array=new CsvArray();
  buildProcess();
  IProcessor processor=ProcessorUtilities.getProcessor(process,null);
  processor.setContext(selectContext);
  File previousFile=temppath.toFile();
  if (previousFile.exists()) {
    previousFile.delete();
  }
  java.lang.Process executeprocess=processor.run(IProcessor.NO_STATISTICS,IProcessor.NO_TRACES,null);
  StringBuffer buffer=new StringBuffer();
  ProcessStreamTrashReaderUtil.readAndForget(executeprocess,buffer);
  final String errorMessage=buffer.toString();
  boolean checkError=!info.isHive() | !previousFile.exists();
  if (checkError && !"String_Node_Str".equals(buffer.toString())) {
    throw new ProcessorException(errorMessage){
      private static final long serialVersionUID=1L;
      @Override public synchronized Throwable initCause(      Throwable cause){
        return super.initCause(cause);
      }
      @Override public String getMessage(){
        StringTokenizer tokenizer=new StringTokenizer(errorMessage,"String_Node_Str");
        StringBuilder sqlError=new StringBuilder();
        if (tokenizer.countTokens() > 2) {
          tokenizer.nextToken();
          sqlError.append(tokenizer.nextToken()).append("String_Node_Str");
        }
        return sqlError.toString();
      }
    }
;
  }
 else {
    try {
      array=array.createFrom(previousFile,currentProcessEncoding);
    }
 catch (    IOException ioe) {
      throw new ProcessorException(ioe){
        @Override public String getMessage(){
          return Messages.getString("String_Node_Str",System.getProperty("String_Node_Str"));
        }
      }
;
    }
  }
  return array;
}