Program: 61750
Project: 61750
Buggy source:
@Override public void start(Group group,ContentPath startingPath){
  MinutePath minutePath=(MinutePath)startingPath;
  channel=ChannelNameUtils.extractFromChannelUrl(group.getChannelUrl());
  ThreadFactory factory=new ThreadFactoryBuilder().setNameFormat("String_Node_Str" + group.getName() + "String_Node_Str").build();
  executorService=Executors.newSingleThreadScheduledExecutor(factory);
  int offset=getOffset();
  logger.info("String_Node_Str",group,offset);
  executorService.scheduleAtFixedRate(new Runnable(){
    MinutePath lastAdded=minutePath;
    @Override public void run(){
      try {
        doWork();
      }
 catch (      Exception e) {
        error.set(true);
        logger.warn("String_Node_Str" + channel,e);
      }
    }
    private void doWork(){
      if (!shouldExit.get()) {
        if (channelService.isReplicating(channel)) {
          handleReplication();
        }
 else {
          handleNormal();
        }
      }
    }
    private void handleNormal(){
      try {
        DateTime nextTime=lastAdded.getTime().plusMinutes(1);
        DateTime stable=TimeUtil.stable().minusMinutes(1);
        logger.debug("String_Node_Str",lastAdded,nextTime,stable);
        while (nextTime.isBefore(stable)) {
          MinutePath nextPath=createMinutePath(nextTime);
          logger.trace("String_Node_Str",channel,nextPath);
          queue.put(nextPath);
          lastAdded=nextPath;
          nextTime=lastAdded.getTime().plusMinutes(1);
        }
      }
 catch (      InterruptedException e) {
        logger.info("String_Node_Str" + channel + "String_Node_Str"+ e.getMessage());
        throw new RuntimeInterruptedException(e);
      }
    }
    private void handleReplication(){
      logger.warn("String_Node_Str" + channel + "String_Node_Str");
    }
  }
,getOffset(),60,TimeUnit.SECONDS);
}

Fixed version (ground truth):
@Override public void start(Group group,ContentPath startingPath){
  MinutePath minutePath=(MinutePath)startingPath;
  channel=ChannelNameUtils.extractFromChannelUrl(group.getChannelUrl());
  ThreadFactory factory=new ThreadFactoryBuilder().setNameFormat("String_Node_Str" + group.getName() + "String_Node_Str").build();
  executorService=Executors.newSingleThreadScheduledExecutor(factory);
  int offset=getOffset();
  logger.info("String_Node_Str",group,offset);
  executorService.scheduleAtFixedRate(new Runnable(){
    MinutePath lastAdded=minutePath;
    @Override public void run(){
      try {
        doWork();
      }
 catch (      Exception e) {
        error.set(true);
        logger.warn("String_Node_Str" + channel,e);
      }
    }
    private void doWork(){
      if (!shouldExit.get()) {
        if (channelService.isReplicating(channel)) {
          handleReplication();
        }
 else {
          handleNormal();
        }
      }
    }
    private void handleNormal(){
      try {
        DateTime nextTime=lastAdded.getTime().plusMinutes(1);
        DateTime stable=TimeUtil.stable().minusMinutes(1);
        logger.debug("String_Node_Str",lastAdded,nextTime,stable);
        while (nextTime.isBefore(stable)) {
          MinutePath nextPath=createMinutePath(nextTime);
          logger.trace("String_Node_Str",channel,nextPath,nextPath.getKeys());
          queue.put(nextPath);
          lastAdded=nextPath;
          nextTime=lastAdded.getTime().plusMinutes(1);
        }
      }
 catch (      InterruptedException e) {
        logger.info("String_Node_Str" + channel + "String_Node_Str"+ e.getMessage());
        throw new RuntimeInterruptedException(e);
      }
    }
    private void handleReplication(){
      logger.warn("String_Node_Str" + channel + "String_Node_Str");
    }
  }
,getOffset(),60,TimeUnit.SECONDS);
}