Program: 31442
Project: 31442
Buggy source:
@SuppressFBWarnings({"String_Node_Str"}) @Override public void onFields(int line,CharSequence[] values,int hi){
  boolean append=true;
  try {
    JournalEntryWriter w=writer.entryWriter();
    for (int i=0; i < hi; i++) {
      if (Unsafe.arrayGet(values,i).length() == 0) {
        continue;
      }
      try {
switch (metadata.getQuick(i).importedType) {
case STRING:
          w.putStr(i,Unsafe.arrayGet(values,i));
        break;
case DOUBLE:
      w.putDouble(i,Numbers.parseDouble(Unsafe.arrayGet(values,i)));
    break;
case INT:
  w.putInt(i,Numbers.parseInt(Unsafe.arrayGet(values,i)));
break;
case FLOAT:
w.putFloat(i,Numbers.parseFloat(Unsafe.arrayGet(values,i)));
break;
case DATE_ISO:
w.putDate(i,Dates.parseDateTime(Unsafe.arrayGet(values,i)));
break;
case DATE_1:
w.putDate(i,Dates.parseDateTimeFmt1(Unsafe.arrayGet(values,i)));
break;
case DATE_2:
w.putDate(i,Dates.parseDateTimeFmt2(Unsafe.arrayGet(values,i)));
break;
case DATE_3:
w.putDate(i,Dates.parseDateTimeFmt3(Unsafe.arrayGet(values,i)));
break;
case SYMBOL:
w.putSym(i,Unsafe.arrayGet(values,i));
break;
case LONG:
w.putLong(i,Numbers.parseLong(Unsafe.arrayGet(values,i)));
break;
case BOOLEAN:
w.putBool(i,Chars.equalsIgnoreCase(Unsafe.arrayGet(values,i),"String_Node_Str"));
}
}
 catch (Exception e) {
errors.increment(i);
LOG.debug().$("String_Node_Str").$(line).$(',').$(i).$("String_Node_Str").$(metadata.getQuick(i).type).$("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,CharSequence[] values,int hi){
  boolean append=true;
  try {
    JournalEntryWriter w=writer.entryWriter();
    for (int i=0; i < hi; i++) {
      if (Unsafe.arrayGet(values,i).length() == 0) {
        continue;
      }
      try {
switch (metadata.getQuick(i).importedType) {
case STRING:
          w.putStr(i,Unsafe.arrayGet(values,i));
        break;
case DOUBLE:
      w.putDouble(i,Numbers.parseDouble(Unsafe.arrayGet(values,i)));
    break;
case INT:
  w.putInt(i,Numbers.parseInt(Unsafe.arrayGet(values,i)));
break;
case FLOAT:
w.putFloat(i,Numbers.parseFloat(Unsafe.arrayGet(values,i)));
break;
case DATE_ISO:
w.putDate(i,Dates.parseDateTime(Unsafe.arrayGet(values,i)));
break;
case DATE_1:
w.putDate(i,Dates.parseDateTimeFmt1(Unsafe.arrayGet(values,i)));
break;
case DATE_2:
w.putDate(i,Dates.parseDateTimeFmt2(Unsafe.arrayGet(values,i)));
break;
case DATE_3:
w.putDate(i,Dates.parseDateTimeFmt3(Unsafe.arrayGet(values,i)));
break;
case SYMBOL:
w.putSym(i,Unsafe.arrayGet(values,i));
break;
case LONG:
w.putLong(i,Numbers.parseLong(Unsafe.arrayGet(values,i)));
break;
case BOOLEAN:
w.putBool(i,Chars.equalsIgnoreCase(Unsafe.arrayGet(values,i),"String_Node_Str"));
break;
default :
break;
}
}
 catch (Exception e) {
errors.increment(i);
LOG.debug().$("String_Node_Str").$(line).$(',').$(i).$("String_Node_Str").$(metadata.getQuick(i).type).$("String_Node_Str").$(e.getMessage()).$();
append=false;
break;
}
}
if (append) {
w.append();
}
}
 catch (JournalException e) {
throw new JournalRuntimeException(e);
}
}