Program: 92813
Project: 92813
Buggy source:
@Override public void run(){
  while (!fExecutor.isShutdown()) {
    final TmfEventRequest<LttngEvent> request=new TmfEventRequest<LttngEvent>(LttngEvent.class,TmfTimeRange.Eternity,0,ExecutionType.FOREGROUND){
      @Override public void handleCompleted(){
        super.handleCompleted();
        if (isIndexingBusy()) {
          timeRange=null;
          return;
        }
        long startTime=Long.MAX_VALUE;
        long endTime=Long.MIN_VALUE;
        for (        ITmfTrace trace : getTraces()) {
          if (trace instanceof LTTngTrace) {
            LTTngTrace lttngTrace=(LTTngTrace)trace;
            JniTrace jniTrace=lttngTrace.getCurrentJniTrace();
            jniTrace.updateTrace();
            startTime=Math.min(startTime,lttngTrace.getStartTime().getValue());
            endTime=Math.max(endTime,jniTrace.getEndTime().getTime());
          }
        }
        LttngTimestamp startTimestamp=new LttngTimestamp(startTime);
        LttngTimestamp endTimestamp=new LttngTimestamp(endTime);
        if (safeTimestamp != null && safeTimestamp.compareTo(getTimeRange().getEndTime(),false) > 0) {
          timeRange=new TmfTimeRange(startTimestamp,safeTimestamp);
        }
 else {
          timeRange=null;
        }
        safeTimestamp=endTimestamp;
      }
    }
;
    try {
      sendRequest((ITmfDataRequest<T>)request);
      request.waitForCompletion();
      if (timeRange != null && timeRange != TmfTimeRange.Null) {
        TmfExperimentRangeUpdatedSignal signal=new TmfExperimentRangeUpdatedSignal(LTTngExperiment.this,LTTngExperiment.this,timeRange);
        broadcast(signal);
      }
      Thread.sleep(2000);
    }
 catch (    InterruptedException e) {
      e.printStackTrace();
    }
  }
}

Fixed version (ground truth):
@Override public void run(){
  while (!fExecutor.isShutdown()) {
    final TmfEventRequest<LttngEvent> request=new TmfEventRequest<LttngEvent>(LttngEvent.class,TmfTimeRange.Eternity,0,ExecutionType.FOREGROUND){
      @Override public void handleCompleted(){
        super.handleCompleted();
        if (isIndexingBusy()) {
          timeRange=null;
          return;
        }
        long startTime=Long.MAX_VALUE;
        long endTime=Long.MIN_VALUE;
        for (        ITmfTrace trace : getTraces()) {
          if (trace instanceof LTTngTrace) {
            LTTngTrace lttngTrace=(LTTngTrace)trace;
            JniTrace jniTrace=lttngTrace.getCurrentJniTrace();
            jniTrace.updateTrace();
            startTime=Math.min(startTime,lttngTrace.getStartTime().getValue());
            endTime=Math.max(endTime,jniTrace.getEndTime().getTime());
          }
        }
        LttngTimestamp startTimestamp=new LttngTimestamp(startTime);
        LttngTimestamp endTimestamp=new LttngTimestamp(endTime);
        if (safeTimestamp != null && safeTimestamp.compareTo(getTimeRange().getEndTime(),false) > 0) {
          timeRange=new TmfTimeRange(startTimestamp,safeTimestamp);
        }
 else {
          timeRange=null;
        }
        safeTimestamp=endTimestamp;
      }
    }
;
    try {
      sendRequest((ITmfDataRequest<T>)request);
      request.waitForCompletion();
      if (timeRange != null && !timeRange.equals(TmfTimeRange.Null)) {
        TmfExperimentRangeUpdatedSignal signal=new TmfExperimentRangeUpdatedSignal(LTTngExperiment.this,LTTngExperiment.this,timeRange);
        broadcast(signal);
      }
      Thread.sleep(2000);
    }
 catch (    InterruptedException e) {
      e.printStackTrace();
    }
  }
}