Program: 99300
Project: 99300
Buggy source:
public Resource getCachedResource(URL urlURL,long maxCacheMS,boolean bUseOlder) throws LiveDocumentNotAvailableException, LiveWebCacheUnavailableException, LiveWebTimeoutException, IOException {
  String robotsFile=null;
  Jedis jedis=null;
  String url=urlURL.toExternalForm();
  long startTime=0;
  try {
    jedis=redisConn.getJedisInstance();
    startTime=System.currentTimeMillis();
    robotsFile=jedis.get(url);
    PerformanceLogger.noteElapsed("String_Node_Str",System.currentTimeMillis() - startTime,((robotsFile == null) ? "String_Node_Str" : "String_Node_Str") + url);
  }
 catch (  JedisConnectionException jce) {
    LOGGER.severe("String_Node_Str" + jce);
    redisConn.returnBrokenJedis(jedis);
    jedis=null;
  }
  try {
    if (robotsFile == null) {
      redisConn.returnJedisInstance(jedis);
      jedis=null;
      RobotResponse robotResponse=doUpdate(url,null);
      if (!robotResponse.isValid()) {
        throw new LiveDocumentNotAvailableException("String_Node_Str");
      }
      robotsFile=robotResponse.contents;
    }
 else     if (robotsFile.startsWith(ROBOTS_TOKEN_ERROR)) {
      asyncUpdateCheck(jedis,url,robotsFile,notAvailRefreshTTL,notAvailTotalTTL);
      throw new LiveDocumentNotAvailableException("String_Node_Str" + robotsFile);
    }
 else {
      asyncUpdateCheck(jedis,url,robotsFile,refreshTTL,totalTTL);
      if (robotsFile.equals(ROBOTS_TOKEN_EMPTY)) {
        robotsFile="String_Node_Str";
      }
    }
  }
 catch (  JedisConnectionException jce) {
    LOGGER.severe("String_Node_Str" + jce);
    redisConn.returnBrokenJedis(jedis);
    jedis=null;
    if (robotsFile != null) {
      return new RobotsTxtResource(robotsFile);
    }
    throw new LiveWebCacheUnavailableException(jce.toString());
  }
 finally {
    redisConn.returnJedisInstance(jedis);
  }
  return new RobotsTxtResource(robotsFile);
}

Fixed version (ground truth):
public Resource getCachedResource(URL urlURL,long maxCacheMS,boolean bUseOlder) throws LiveDocumentNotAvailableException, LiveWebCacheUnavailableException, LiveWebTimeoutException, IOException {
  String robotsFile=null;
  Jedis jedis=null;
  String url=urlURL.toExternalForm();
  long startTime=0;
  try {
    jedis=redisConn.getJedisInstance();
    startTime=System.currentTimeMillis();
    robotsFile=jedis.get(url);
    PerformanceLogger.noteElapsed("String_Node_Str",System.currentTimeMillis() - startTime,((robotsFile == null) ? "String_Node_Str" : "String_Node_Str") + url);
  }
 catch (  JedisConnectionException jce) {
    LOGGER.severe("String_Node_Str" + jce);
    redisConn.returnBrokenJedis(jedis);
    jedis=null;
  }
  try {
    if (robotsFile == null) {
      redisConn.returnJedisInstance(jedis);
      jedis=null;
      RobotResponse robotResponse=doUpdate(url,null);
      if (!robotResponse.isValid()) {
        throw new LiveDocumentNotAvailableException("String_Node_Str");
      }
      robotsFile=robotResponse.contents;
    }
 else     if (robotsFile.startsWith(ROBOTS_TOKEN_ERROR)) {
      startTime=System.currentTimeMillis();
      long ttl=jedis.ttl(url);
      PerformanceLogger.noteElapsed("String_Node_Str",System.currentTimeMillis() - startTime,"String_Node_Str" + robotsFile);
      redisConn.returnJedisInstance(jedis);
      jedis=null;
      asyncUpdateCheck(ttl,url,robotsFile,notAvailRefreshTTL,notAvailTotalTTL);
      throw new LiveDocumentNotAvailableException("String_Node_Str" + robotsFile);
    }
 else {
      startTime=System.currentTimeMillis();
      long ttl=jedis.ttl(url);
      PerformanceLogger.noteElapsed("String_Node_Str",System.currentTimeMillis() - startTime,"String_Node_Str" + robotsFile.length());
      redisConn.returnJedisInstance(jedis);
      jedis=null;
      asyncUpdateCheck(ttl,url,robotsFile,refreshTTL,totalTTL);
      if (robotsFile.equals(ROBOTS_TOKEN_EMPTY)) {
        robotsFile="String_Node_Str";
      }
    }
  }
 catch (  JedisConnectionException jce) {
    LOGGER.severe("String_Node_Str" + jce);
    redisConn.returnBrokenJedis(jedis);
    jedis=null;
    if (robotsFile != null) {
      return new RobotsTxtResource(robotsFile);
    }
    throw new LiveWebCacheUnavailableException(jce.toString());
  }
 finally {
    redisConn.returnJedisInstance(jedis);
  }
  return new RobotsTxtResource(robotsFile);
}