Program: 8150
Project: 8150
Buggy source:
/** 
 * Starts the   {@link com.continuuity.common.service.Server}
 * @param args arguments for the service
 * @param conf instance of configuration object.
 */
@Override public void start(String[] args,CConfiguration conf) throws ServerException {
  String zkEnsemble=conf.get(Constants.CFG_ZOOKEEPER_ENSEMBLE,Constants.DEFAULT_ZOOKEEPER_ENSEMBLE);
  try {
    executorService=Executors.newCachedThreadPool();
    client=CuratorFrameworkFactory.newClient(zkEnsemble,new RetryUntilElapsed(30000,2000));
    client.start();
    listener=StateChange.Server.newListener(client);
    listener.listen(STATE_CHANGE_QUEUE,callback);
    String portProperty=conf.get(Constants.CFG_FLOW_MONITOR_SERVER_PORT,Constants.DEFAULT_FLOW_MONITOR_SERVER_PORT);
    int port=Integer.valueOf(portProperty);
    String threadCntProperty=conf.get(Constants.CFG_RESOURCE_MANAGER_SERVER_THREADS,Constants.DEFAULT_FLOW_MONITOR_SERVER_THREADS);
    int threads=Integer.valueOf(threadCntProperty);
    MetricsImpl serviceImpl=new MetricsImpl(handler);
    THsHaServer.Args serverArgs=new THsHaServer.Args(new TNonblockingServerSocket(port)).executorService(executorService).processor(new FlowMonitor.Processor(serviceImpl)).workerThreads(threads);
    server=new THsHaServer(serverArgs);
    new Thread(new Runnable(){
      @Override public void run(){
        server.serve();
      }
    }
).start();
  }
 catch (  IOException e) {
    Log.error("String_Node_Str",e.getMessage());
  }
catch (  TTransportException e) {
    Log.error("String_Node_Str",e.getMessage());
  }
catch (  StateChangeListenerException e) {
    Log.error("String_Node_Str");
  }
}

Fixed version (ground truth):
/** 
 * Starts the   {@link com.continuuity.common.service.Server}
 * @param args arguments for the service
 * @param conf instance of configuration object.
 */
@Override public void start(String[] args,CConfiguration conf) throws ServerException {
  String zkEnsemble=conf.get(Constants.CFG_ZOOKEEPER_ENSEMBLE,Constants.DEFAULT_ZOOKEEPER_ENSEMBLE);
  try {
    executorService=Executors.newCachedThreadPool();
    client=CuratorFrameworkFactory.newClient(zkEnsemble,new RetryUntilElapsed(30000,2000));
    client.start();
    listener=StateChange.Server.newListener(client);
    listener.listen(STATE_CHANGE_QUEUE,callback);
    String portProperty=conf.get(Constants.CFG_FLOW_MONITOR_SERVER_PORT,Constants.DEFAULT_FLOW_MONITOR_SERVER_PORT);
    int port=Integer.valueOf(portProperty);
    String threadCntProperty=conf.get(Constants.CFG_FLOW_MONITOR_SERVER_THREADS,Constants.DEFAULT_FLOW_MONITOR_SERVER_THREADS);
    int threads=Integer.valueOf(threadCntProperty);
    MetricsImpl serviceImpl=new MetricsImpl(handler);
    THsHaServer.Args serverArgs=new THsHaServer.Args(new TNonblockingServerSocket(port)).executorService(executorService).processor(new FlowMonitor.Processor(serviceImpl)).workerThreads(threads);
    server=new THsHaServer(serverArgs);
    new Thread(new Runnable(){
      @Override public void run(){
        server.serve();
      }
    }
).start();
  }
 catch (  IOException e) {
    Log.error("String_Node_Str",e.getMessage());
  }
catch (  TTransportException e) {
    Log.error("String_Node_Str",e.getMessage());
  }
catch (  StateChangeListenerException e) {
    Log.error("String_Node_Str");
  }
}