Program: 52294
Project: 52294
Buggy source:
@Test @Ignore public void testOverTCP() throws IOException, InterruptedException {
  String baseDir=System.getProperty("String_Node_Str");
  String srcBasePath=baseDir + "String_Node_Str";
  ChronicleTools.deleteOnExit(srcBasePath);
  final int messages=2000;
  ChronicleConfig config=ChronicleConfig.TEST.clone();
  final Chronicle source=new InProcessChronicleSource(new IndexedChronicle(srcBasePath,config),PORT + 1);
  Thread t=new Thread(new Runnable(){
    @Override public void run(){
      try {
        ExcerptAppender excerpt=source.createAppender();
        for (int i=1; i <= messages; i++) {
          excerpt.startExcerpt(19);
          excerpt.writeLong(i);
          excerpt.append(' ');
          excerpt.append(i);
          excerpt.append('\n');
          excerpt.finish();
        }
        System.out.println(System.currentTimeMillis() + "String_Node_Str");
      }
 catch (      Exception e) {
        throw new AssertionError(e);
      }
    }
  }
);
  String snkBasePath=baseDir + "String_Node_Str";
  ChronicleTools.deleteOnExit(snkBasePath);
  Chronicle sink=new InProcessChronicleSink(new IndexedChronicle(snkBasePath),"String_Node_Str",PORT + 1);
  long start=System.nanoTime();
  t.start();
  ExcerptTailer excerpt=sink.createTailer();
  int count=0;
  for (int i=1; i <= messages; i++) {
    while (!excerpt.nextIndex())     count++;
    long n=excerpt.readLong();
    String text=excerpt.parseUTF(StopCharTesters.CONTROL_STOP);
    if (i != n)     assertEquals('\'' + text + '\'',i,n);
    excerpt.finish();
  }
  sink.close();
  System.out.println("String_Node_Str" + count + "String_Node_Str");
  t.join();
  source.close();
  long time=System.nanoTime() - start;
  System.out.printf("String_Node_Str",(int)(messages * 1e9 / time));
}

Fixed version (ground truth):
@Test public void testOverTCP() throws IOException, InterruptedException {
  String baseDir=System.getProperty("String_Node_Str");
  String srcBasePath=baseDir + "String_Node_Str";
  ChronicleTools.deleteOnExit(srcBasePath);
  final int messages=2 * 1000 * 1000;
  ChronicleConfig config=ChronicleConfig.DEFAULT.clone();
  final Chronicle source=new InProcessChronicleSource(new IndexedChronicle(srcBasePath,config),PORT + 1);
  Thread t=new Thread(new Runnable(){
    @Override public void run(){
      try {
        ExcerptAppender excerpt=source.createAppender();
        for (int i=1; i <= messages; i++) {
          excerpt.startExcerpt(19);
          excerpt.writeLong(i);
          excerpt.append(' ');
          excerpt.append(i);
          excerpt.append('\n');
          excerpt.finish();
        }
        System.out.println(System.currentTimeMillis() + "String_Node_Str");
      }
 catch (      Exception e) {
        throw new AssertionError(e);
      }
    }
  }
);
  String snkBasePath=baseDir + "String_Node_Str";
  ChronicleTools.deleteOnExit(snkBasePath);
  Chronicle sink=new InProcessChronicleSink(new IndexedChronicle(snkBasePath,config),"String_Node_Str",PORT + 1);
  long start=System.nanoTime();
  t.start();
  ExcerptTailer excerpt=sink.createTailer();
  int count=0;
  for (int i=1; i <= messages; i++) {
    while (!excerpt.nextIndex())     count++;
    long n=excerpt.readLong();
    String text=excerpt.parseUTF(StopCharTesters.CONTROL_STOP);
    if (i != n)     assertEquals('\'' + text + '\'',i,n);
    excerpt.finish();
  }
  sink.close();
  System.out.println("String_Node_Str" + count + "String_Node_Str");
  t.join();
  source.close();
  long time=System.nanoTime() - start;
  System.out.printf("String_Node_Str",(int)(messages * 1e9 / time));
}