Program: 7774
Project: 7774
Buggy source:
@BeforeClass public static void init() throws Exception {
  zkServer=InMemoryZKServer.builder().setDataDir(tmpFolder.newFolder()).build();
  zkServer.startAndWait();
  HBaseTestBase.startHBase();
  final DataFabricDistributedModule dataFabricModule=new DataFabricDistributedModule(HBaseTestBase.getConfiguration());
  final CConfiguration cConf=dataFabricModule.getConfiguration();
  cConf.set(Constants.CFG_ZOOKEEPER_ENSEMBLE,zkServer.getConnectionStr());
  cConf.set(com.continuuity.data.operation.executor.remote.Constants.CFG_DATA_OPEX_SERVER_PORT,Integer.toString(Networks.getRandomPort()));
  cConf.set(HBaseTableUtil.CFG_TABLE_PREFIX,"String_Node_Str");
  cConf.setBoolean(StatePersistor.CFG_DO_PERSIST,false);
  final Injector injector=Guice.createInjector(dataFabricModule,new AbstractModule(){
    @Override protected void configure(){
      try {
        bind(LocationFactory.class).toInstance(new LocalLocationFactory(tmpFolder.newFolder()));
      }
 catch (      IOException e) {
        throw Throwables.propagate(e);
      }
    }
  }
);
  injector.getInstance(InMemoryTransactionManager.class).init();
  opexService=injector.getInstance(OperationExecutorService.class);
  Thread t=new Thread(){
    @Override public void run(){
      try {
        opexService.start(new String[]{},cConf);
      }
 catch (      ServerException e) {
        LOG.error("String_Node_Str",e);
      }
    }
  }
;
  t.start();
  opex=injector.getInstance(OperationExecutor.class);
  queueClientFactory=injector.getInstance(QueueClientFactory.class);
  queueAdmin=injector.getInstance(QueueAdmin.class);
}

Fixed version (ground truth):
@BeforeClass public static void init() throws Exception {
  HBaseTestBase.startHBase();
  final DataFabricDistributedModule dataFabricModule=new DataFabricDistributedModule(HBaseTestBase.getConfiguration());
  final CConfiguration cConf=dataFabricModule.getConfiguration();
  cConf.set(Constants.CFG_ZOOKEEPER_ENSEMBLE,HBaseTestBase.getZkConnectionString());
  cConf.set(com.continuuity.data.operation.executor.remote.Constants.CFG_DATA_OPEX_SERVER_PORT,Integer.toString(Networks.getRandomPort()));
  cConf.set(HBaseTableUtil.CFG_TABLE_PREFIX,"String_Node_Str");
  cConf.setBoolean(StatePersistor.CFG_DO_PERSIST,false);
  final Injector injector=Guice.createInjector(dataFabricModule,new AbstractModule(){
    @Override protected void configure(){
      try {
        bind(LocationFactory.class).toInstance(new LocalLocationFactory(tmpFolder.newFolder()));
      }
 catch (      IOException e) {
        throw Throwables.propagate(e);
      }
    }
  }
);
  transactionManager=injector.getInstance(InMemoryTransactionManager.class);
  transactionManager.init();
  opexService=injector.getInstance(OperationExecutorService.class);
  Thread t=new Thread(){
    @Override public void run(){
      try {
        opexService.start(new String[]{},cConf);
      }
 catch (      ServerException e) {
        LOG.error("String_Node_Str",e);
      }
    }
  }
;
  t.start();
  opex=injector.getInstance(OperationExecutor.class);
  queueClientFactory=injector.getInstance(QueueClientFactory.class);
  queueAdmin=injector.getInstance(QueueAdmin.class);
}