Program: 7811
Project: 7811
Buggy source:
private void outputEclipseDiff(final StringBuilder d,final Repository db,final ObjectReader reader,final DiffFormatter diffFmt) throws IOException {
  if (!(getBlobs().length == 2))   throw new UnsupportedOperationException("String_Node_Str");
  String projectRelativePath=getProjectRelativePath(db,getPath());
  d.append("String_Node_Str").append(projectRelativePath).append("String_Node_Str").append(projectRelativePath).append("String_Node_Str");
  final ObjectId id1=getBlobs()[0];
  final ObjectId id2=getBlobs()[1];
  final FileMode mode1=getModes()[0];
  final FileMode mode2=getModes()[1];
  if (id1.equals(ObjectId.zeroId())) {
    d.append("String_Node_Str" + mode2).append("String_Node_Str");
  }
 else   if (id2.equals(ObjectId.zeroId())) {
    d.append("String_Node_Str" + mode1).append("String_Node_Str");
  }
 else   if (!mode1.equals(mode2)) {
    d.append("String_Node_Str" + mode1);
    d.append("String_Node_Str" + mode2).append("String_Node_Str");
  }
  d.append("String_Node_Str").append(reader.abbreviate(id1).name()).append("String_Node_Str").append(reader.abbreviate(id2).name()).append(mode1.equals(mode2) ? "String_Node_Str" + mode1 : "String_Node_Str").append("String_Node_Str");
  if (id1.equals(ObjectId.zeroId()))   d.append("String_Node_Str");
 else {
    d.append("String_Node_Str");
    d.append(getProjectRelativePath(db,getPath()));
    d.append("String_Node_Str");
  }
  if (id2.equals(ObjectId.zeroId()))   d.append("String_Node_Str");
 else {
    d.append("String_Node_Str");
    d.append(getProjectRelativePath(db,getPath()));
    d.append("String_Node_Str");
  }
  final RawText a=getRawText(id1,reader);
  final RawText b=getRawText(id2,reader);
  final MyersDiff diff=new MyersDiff(RawTextComparator.DEFAULT,a,b);
  diffFmt.format(diff.getEdits(),a,b);
}

Fixed version (ground truth):
private void outputEclipseDiff(final StringBuilder d,final Repository db,final ObjectReader reader,final DiffFormatter diffFmt) throws IOException {
  if (!(getBlobs().length == 2))   throw new UnsupportedOperationException("String_Node_Str");
  String projectRelativePath=getProjectRelativePath(db,getPath());
  d.append("String_Node_Str").append(projectRelativePath).append("String_Node_Str").append(projectRelativePath).append("String_Node_Str");
  final ObjectId id1=getBlobs()[0];
  final ObjectId id2=getBlobs()[1];
  final FileMode mode1=getModes()[0];
  final FileMode mode2=getModes()[1];
  if (id1.equals(ObjectId.zeroId())) {
    d.append("String_Node_Str" + mode2).append("String_Node_Str");
  }
 else   if (id2.equals(ObjectId.zeroId())) {
    d.append("String_Node_Str" + mode1).append("String_Node_Str");
  }
 else   if (!mode1.equals(mode2)) {
    d.append("String_Node_Str" + mode1);
    d.append("String_Node_Str" + mode2).append("String_Node_Str");
  }
  d.append("String_Node_Str").append(reader.abbreviate(id1).name()).append("String_Node_Str").append(reader.abbreviate(id2).name()).append(mode1.equals(mode2) ? "String_Node_Str" + mode1 : "String_Node_Str").append("String_Node_Str");
  if (id1.equals(ObjectId.zeroId()))   d.append("String_Node_Str");
 else {
    d.append("String_Node_Str");
    d.append(getProjectRelativePath(db,getPath()));
    d.append("String_Node_Str");
  }
  if (id2.equals(ObjectId.zeroId()))   d.append("String_Node_Str");
 else {
    d.append("String_Node_Str");
    d.append(getProjectRelativePath(db,getPath()));
    d.append("String_Node_Str");
  }
  final RawText a=getRawText(id1,reader);
  final RawText b=getRawText(id2,reader);
  EditList editList=MyersDiff.INSTANCE.diff(RawTextComparator.DEFAULT,a,b);
  diffFmt.format(editList,a,b);
}