Program: 1511
Project: 1511
Buggy source:
public static void main(String[] args) throws TTransportException, IOException {
  Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(){
    @Override public void uncaughtException(    Thread t,    Throwable e){
      LOG.error("String_Node_Str",e,t);
    }
  }
);
  String nodeName=args[0];
  String zkConnectionStr=args[1];
  String hdfsPath=args[2];
  List<File> localFileCaches=new ArrayList<File>();
  for (  String cachePath : args[3].split("String_Node_Str")) {
    localFileCaches.add(new File(cachePath));
  }
  boolean crazyMode=false;
  if (args.length == 5 && args[4].equals(CRAZY)) {
    crazyMode=true;
  }
  ZooKeeper zooKeeper=new ZooKeeper(zkConnectionStr,10000,new Watcher(){
    @Override public void process(    WatchedEvent event){
    }
  }
);
  ZookeeperDistributedManager dzk=new ZookeeperDistributedManager();
  dzk.setZooKeeper(zooKeeper);
  FileSystem fileSystem=FileSystem.get(new Configuration());
  Path blurBasePath=new Path(hdfsPath);
  HdfsExistenceCheck existenceCheck=new HdfsExistenceCheck(fileSystem,blurBasePath);
  LocalFileCache localFileCache=new LocalFileCache();
  localFileCache.setLocalFileCacheCheck(existenceCheck);
  localFileCache.setPotentialFiles(localFileCaches.toArray(new File[]{}));
  localFileCache.open();
  LockFactory lockFactory=new NoLockFactory();
  ReplicationDaemon replicationDaemon=new ReplicationDaemon(localFileCache);
  HdfsIndexServer indexServer=new HdfsIndexServer();
  indexServer.setType(NODE_TYPE.SHARD);
  indexServer.setLocalFileCache(localFileCache);
  indexServer.setLockFactory(lockFactory);
  indexServer.setFileSystem(fileSystem);
  indexServer.setBlurBasePath(blurBasePath);
  indexServer.setNodeName(nodeName);
  indexServer.setDistributedManager(dzk);
  indexServer.setReplicationDaemon(replicationDaemon);
  indexServer.init();
  localFileCache.setLocalFileCacheCheck(getLocalFileCacheCheck(indexServer));
  IndexManager indexManager=new IndexManager();
  indexManager.setIndexServer(indexServer);
  indexManager.init();
  BlurShardServer shardServer=new BlurShardServer();
  shardServer.setIndexServer(indexServer);
  shardServer.setIndexManager(indexManager);
  ThriftBlurShardServer server=new ThriftBlurShardServer();
  server.setNodeName(nodeName);
  if (crazyMode) {
    System.err.println("String_Node_Str");
    server.setIface(crazyMode(shardServer));
  }
 else {
    server.setIface(shardServer);
  }
  server.start();
}

Fixed version (ground truth):
public static void main(String[] args) throws TTransportException, IOException {
  Thread.setDefaultUncaughtExceptionHandler(new UncaughtExceptionHandler(){
    @Override public void uncaughtException(    Thread t,    Throwable e){
      LOG.error("String_Node_Str",e,t);
    }
  }
);
  String nodeName=args[0];
  String zkConnectionStr=args[1];
  String hdfsPath=args[2];
  List<File> localFileCaches=new ArrayList<File>();
  for (  String cachePath : args[3].split("String_Node_Str")) {
    localFileCaches.add(new File(cachePath));
  }
  boolean crazyMode=false;
  if (args.length == 5 && args[4].equals(CRAZY)) {
    crazyMode=true;
  }
  ZooKeeper zooKeeper=new ZooKeeper(zkConnectionStr,10000,new Watcher(){
    @Override public void process(    WatchedEvent event){
    }
  }
);
  ZookeeperDistributedManager dzk=new ZookeeperDistributedManager();
  dzk.setZooKeeper(zooKeeper);
  FileSystem fileSystem=FileSystem.get(new Configuration());
  Path blurBasePath=new Path(hdfsPath);
  LocalFileCache localFileCache=new LocalFileCache();
  localFileCache.setPotentialFiles(localFileCaches.toArray(new File[]{}));
  localFileCache.open();
  LockFactory lockFactory=new NoLockFactory();
  ReplicationDaemon replicationDaemon=new ReplicationDaemon(localFileCache);
  HdfsIndexServer indexServer=new HdfsIndexServer();
  indexServer.setType(NODE_TYPE.SHARD);
  indexServer.setLocalFileCache(localFileCache);
  indexServer.setLockFactory(lockFactory);
  indexServer.setFileSystem(fileSystem);
  indexServer.setBlurBasePath(blurBasePath);
  indexServer.setNodeName(nodeName);
  indexServer.setDistributedManager(dzk);
  indexServer.setReplicationDaemon(replicationDaemon);
  indexServer.init();
  localFileCache.setLocalFileCacheCheck(getLocalFileCacheCheck(indexServer));
  IndexManager indexManager=new IndexManager();
  indexManager.setIndexServer(indexServer);
  indexManager.init();
  BlurShardServer shardServer=new BlurShardServer();
  shardServer.setIndexServer(indexServer);
  shardServer.setIndexManager(indexManager);
  ThriftBlurShardServer server=new ThriftBlurShardServer();
  server.setNodeName(nodeName);
  if (crazyMode) {
    System.err.println("String_Node_Str");
    server.setIface(crazyMode(shardServer));
  }
 else {
    server.setIface(shardServer);
  }
  server.start();
}