Program: 35205
Project: 35205
Buggy source:
private void initZooKeeperClient(){
  try {
    getLogger().info("String_Node_Str",serviceCode,hostPort);
    zkInitLatch=new CountDownLatch(1);
    zk=new ZooKeeper(hostPort,ZK_SESSION_TIMEOUT,this);
    try {
      if (zkInitLatch.await(ZK_CONNECT_TIMEOUT,TimeUnit.MILLISECONDS) == false) {
        getLogger().fatal("String_Node_Str",hostPort,ZK_CONNECT_TIMEOUT);
        throw new AdminConnectTimeoutException(hostPort);
      }
      if (zk.exists(REPL_CACHE_LIST_PATH + serviceCode,false) != null) {
        arcus17=true;
        cfb.setArcus17(true);
        getLogger().info("String_Node_Str");
      }
 else       if (zk.exists(ARCUS_BASE_CACHE_LIST_PATH + serviceCode,false) != null) {
        arcus17=false;
        cfb.setArcus17(false);
      }
 else {
        getLogger().fatal("String_Node_Str" + serviceCode + "String_Node_Str");
        throw new NotExistsServiceCodeException(serviceCode);
      }
      String path=getClientInfo();
      if (path.isEmpty()) {
        getLogger().fatal("String_Node_Str" + path + "String_Node_Str");
        throw new InitializeClientException("String_Node_Str");
      }
      if (zk.exists(path,false) == null) {
        zk.create(path,null,Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL);
      }
    }
 catch (    AdminConnectTimeoutException e) {
      shutdownZooKeeperClient();
      throw e;
    }
catch (    NotExistsServiceCodeException e) {
      shutdownZooKeeperClient();
      throw e;
    }
catch (    InterruptedException ie) {
      getLogger().fatal("String_Node_Str",serviceCode,hostPort,ie.getMessage());
      shutdownZooKeeperClient();
      return;
    }
catch (    Exception e) {
      getLogger().fatal("String_Node_Str");
      shutdownZooKeeperClient();
      throw new InitializeClientException("String_Node_Str",e);
    }
    String cachePath=arcus17 ? REPL_CACHE_LIST_PATH : ARCUS_BASE_CACHE_LIST_PATH;
    cacheMonitor=new CacheMonitor(zk,cachePath,serviceCode,this);
  }
 catch (  IOException e) {
    throw new InitializeClientException("String_Node_Str",e);
  }
}

Fixed version (ground truth):
private void initZooKeeperClient(){
  try {
    getLogger().info("String_Node_Str",serviceCode,hostPort);
    zkInitLatch=new CountDownLatch(1);
    zk=new ZooKeeper(hostPort,ZK_SESSION_TIMEOUT,this);
    try {
      if (zkInitLatch.await(ZK_CONNECT_TIMEOUT,TimeUnit.MILLISECONDS) == false) {
        getLogger().fatal("String_Node_Str",hostPort,ZK_CONNECT_TIMEOUT);
        throw new AdminConnectTimeoutException(hostPort);
      }
      if (zk.exists(REPL_CACHE_LIST_PATH + serviceCode,false) != null) {
        arcus17=true;
        cfb.setArcus17(true);
        getLogger().info("String_Node_Str");
      }
 else       if (zk.exists(ARCUS_BASE_CACHE_LIST_ZPATH + serviceCode,false) != null) {
        arcus17=false;
        cfb.setArcus17(false);
      }
 else {
        getLogger().fatal("String_Node_Str" + serviceCode + "String_Node_Str");
        throw new NotExistsServiceCodeException(serviceCode);
      }
      String path=getClientInfo();
      if (path.isEmpty()) {
        getLogger().fatal("String_Node_Str" + path + "String_Node_Str");
        throw new InitializeClientException("String_Node_Str");
      }
      if (zk.exists(path,false) == null) {
        zk.create(path,null,Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL);
      }
    }
 catch (    AdminConnectTimeoutException e) {
      shutdownZooKeeperClient();
      throw e;
    }
catch (    NotExistsServiceCodeException e) {
      shutdownZooKeeperClient();
      throw e;
    }
catch (    InterruptedException ie) {
      getLogger().fatal("String_Node_Str",serviceCode,hostPort,ie.getMessage());
      shutdownZooKeeperClient();
      return;
    }
catch (    Exception e) {
      getLogger().fatal("String_Node_Str");
      shutdownZooKeeperClient();
      throw new InitializeClientException("String_Node_Str",e);
    }
    String cachePath=arcus17 ? REPL_CACHE_LIST_PATH : ARCUS_BASE_CACHE_LIST_ZPATH;
    cacheMonitor=new CacheMonitor(zk,cachePath,serviceCode,this);
  }
 catch (  IOException e) {
    throw new InitializeClientException("String_Node_Str",e);
  }
}