Program: 30951
Project: 30951
Buggy source:
@Override public void onFields(int line,ObjList<DirectByteCharSequence> values,int hi){
  boolean append=true;
  try {
    JournalEntryWriter w=writer.entryWriter();
    for (int i=0; i < hi; i++) {
      if (values.getQuick(i).length() == 0) {
        continue;
      }
      try {
        ImportedColumnMetadata m=metadata.getQuick(i);
switch (m.importedColumnType) {
case ColumnType.STRING:
          utf8Sink.clear();
        Chars.utf8Decode(values.getQuick(i),utf8Sink);
      w.putStr(i,(DirectBytes)utf8Sink);
    break;
case ColumnType.DOUBLE:
  w.putDouble(i,Numbers.parseDouble(values.getQuick(i)));
break;
case ColumnType.INT:
w.putInt(i,Numbers.parseInt(values.getQuick(i)));
break;
case ColumnType.FLOAT:
w.putFloat(i,Numbers.parseFloat(values.getQuick(i)));
break;
case ColumnType.DATE:
if (m.dateFormat != null && m.dateLocale != null) {
w.putDate(i,m.dateFormat.parse(values.getQuick(i),m.dateLocale));
}
 else {
throw NumericException.INSTANCE;
}
break;
case ColumnType.SYMBOL:
w.putSym(i,values.getQuick(i));
break;
case ColumnType.LONG:
w.putLong(i,Numbers.parseLong(values.getQuick(i)));
break;
case ColumnType.BOOLEAN:
w.putBool(i,Chars.equalsIgnoreCase(values.getQuick(i),"String_Node_Str"));
break;
default :
break;
}
}
 catch (Exception e) {
switch (atomicity) {
case ATOMICITY_STRICT:
LOG.info().$("String_Node_Str").$(line).$(',').$(i).$(')').$();
throw new JournalRuntimeException("String_Node_Str" + line + "String_Node_Str"+ i);
default :
errors.increment(i);
LOG.debug().$("String_Node_Str").$(line).$(',').$(i).$("String_Node_Str").$(metadata.getQuick(i).importedColumnType).$("String_Node_Str").$(e.getMessage()).$();
append=false;
}
break;
}
}
if (append) {
w.append();
}
}
 catch (JournalException e) {
throw new JournalRuntimeException(e);
}
}

Fixed version (ground truth):
@Override public void onFields(int line,ObjList<DirectByteCharSequence> values,int hi){
  boolean append=true;
  try {
    JournalEntryWriter w=writer.entryWriter();
    for (int i=0; i < hi; i++) {
      if (values.getQuick(i).length() == 0) {
        continue;
      }
      try {
        ImportedColumnMetadata m=metadata.getQuick(i);
switch (m.importedColumnType) {
case ColumnType.STRING:
          utf8Sink.clear();
        Chars.utf8Decode(values.getQuick(i),utf8Sink);
      w.putStr(i,(DirectBytes)utf8Sink);
    break;
case ColumnType.DOUBLE:
  w.putDouble(i,Numbers.parseDouble(values.getQuick(i)));
break;
case ColumnType.INT:
w.putInt(i,Numbers.parseInt(values.getQuick(i)));
break;
case ColumnType.FLOAT:
w.putFloat(i,Numbers.parseFloat(values.getQuick(i)));
break;
case ColumnType.DATE:
if (m.dateFormat != null && m.dateLocale != null) {
w.putDate(i,m.dateFormat.parse(values.getQuick(i),m.dateLocale));
}
 else {
throw NumericException.INSTANCE;
}
break;
case ColumnType.SYMBOL:
utf8Sink.clear();
Chars.utf8Decode(values.getQuick(i),utf8Sink);
w.putSym(i,utf8Sink);
break;
case ColumnType.LONG:
w.putLong(i,Numbers.parseLong(values.getQuick(i)));
break;
case ColumnType.BOOLEAN:
w.putBool(i,Chars.equalsIgnoreCase(values.getQuick(i),"String_Node_Str"));
break;
default :
break;
}
}
 catch (Exception e) {
switch (atomicity) {
case ATOMICITY_STRICT:
LOG.info().$("String_Node_Str").$(line).$(',').$(i).$(')').$();
throw new JournalRuntimeException("String_Node_Str" + line + "String_Node_Str"+ i);
default :
errors.increment(i);
LOG.debug().$("String_Node_Str").$(line).$(',').$(i).$("String_Node_Str").$(metadata.getQuick(i).importedColumnType).$("String_Node_Str").$(e.getMessage()).$();
append=false;
}
break;
}
}
if (append) {
w.append();
}
}
 catch (JournalException e) {
throw new JournalRuntimeException(e);
}
}