Program: 155075
Project: 155075
Buggy source:
/** 
 * Starts Neo4j with default configuration
 * @param storeDir path to directory where Neo4j store is located
 * @param create if true a new Neo4j store will be created if no store existat <CODE>storeDir</CODE>
 * @param configuration parameters
 * @throws StartupFailedException if unable to start
 */
public synchronized void start(Map<String,String> stringParams){
  if (started) {
    throw new IllegalStateException("String_Node_Str");
  }
  Map<Object,Object> params=getDefaultParams();
  for (  Map.Entry<String,String> entry : stringParams.entrySet()) {
    params.put(entry.getKey(),entry.getValue());
  }
  config=new Config(storeDir,params);
  storeDir=FileUtils.fixSeparatorsInPath(storeDir);
  String separator=System.getProperty("String_Node_Str");
  String store=storeDir + separator + "String_Node_Str";
  params.put("String_Node_Str",storeDir);
  params.put("String_Node_Str",store);
  params.put("String_Node_Str",String.valueOf(create));
  String logicalLog=storeDir + separator + "String_Node_Str";
  params.put("String_Node_Str",logicalLog);
  byte resourceId[]="String_Node_Str".getBytes();
  params.put(LockManager.class,config.getLockManager());
  params.put(LockReleaser.class,config.getLockReleaser());
  config.getTxModule().registerDataSource(DEFAULT_DATA_SOURCE_NAME,NIO_NEO_DB_CLASS,resourceId,params);
  XaDataSource lucene=null;
  if (!config.isReadOnly()) {
    try {
      Class clazz=Class.forName(LUCENE_DS_CLASS);
      cleanWriteLocksInLuceneDirectory(storeDir + "String_Node_Str");
      lucene=registerLuceneDataSource(clazz.getName(),config.getTxModule(),storeDir + "String_Node_Str",config.getLockManager());
    }
 catch (    ClassNotFoundException e) {
    }
  }
  persistenceSource=new NioNeoDbPersistenceSource();
  config.setNeoPersistenceSource(DEFAULT_DATA_SOURCE_NAME,create);
  config.getIdGeneratorModule().setPersistenceSourceInstance(persistenceSource);
  config.getEventModule().init();
  config.getTxModule().init();
  config.getPersistenceModule().init();
  persistenceSource.init();
  config.getIdGeneratorModule().init();
  config.getNeoModule().init();
  config.getEventModule().start();
  config.getTxModule().start();
  config.getPersistenceModule().start(config.getTxModule().getTxManager(),persistenceSource);
  persistenceSource.start(config.getTxModule().getXaDataSourceManager());
  config.getIdGeneratorModule().start();
  config.getNeoModule().start(config.getLockReleaser(),config.getPersistenceModule().getPersistenceManager(),params);
  if (lucene != null) {
    config.getTxModule().getXaDataSourceManager().unregisterDataSource("String_Node_Str");
    lucene=null;
  }
  started=true;
}

Fixed version (ground truth):
/** 
 * Starts Neo4j with default configuration
 * @param storeDir path to directory where Neo4j store is located
 * @param create if true a new Neo4j store will be created if no store existat <CODE>storeDir</CODE>
 * @param configuration parameters
 * @throws StartupFailedException if unable to start
 */
public synchronized void start(Map<String,String> stringParams){
  if (started) {
    throw new IllegalStateException("String_Node_Str");
  }
  Map<Object,Object> params=getDefaultParams();
  for (  Map.Entry<String,String> entry : stringParams.entrySet()) {
    params.put(entry.getKey(),entry.getValue());
  }
  config=new Config(storeDir,params);
  storeDir=FileUtils.fixSeparatorsInPath(storeDir);
  String separator=System.getProperty("String_Node_Str");
  String store=storeDir + separator + "String_Node_Str";
  params.put("String_Node_Str",storeDir);
  params.put("String_Node_Str",store);
  params.put("String_Node_Str",String.valueOf(create));
  String logicalLog=storeDir + separator + "String_Node_Str";
  params.put("String_Node_Str",logicalLog);
  byte resourceId[]="String_Node_Str".getBytes();
  params.put(LockManager.class,config.getLockManager());
  params.put(LockReleaser.class,config.getLockReleaser());
  config.getTxModule().registerDataSource(DEFAULT_DATA_SOURCE_NAME,NIO_NEO_DB_CLASS,resourceId,params);
  XaDataSource lucene=null;
  XaDataSource luceneFulltext=null;
  if (!config.isReadOnly()) {
    try {
      Class clazz=Class.forName(LUCENE_DS_CLASS);
      cleanWriteLocksInLuceneDirectory(storeDir + "String_Node_Str");
      byte luceneId[]="String_Node_Str".getBytes();
      lucene=registerLuceneDataSource("String_Node_Str",clazz.getName(),config.getTxModule(),storeDir + "String_Node_Str",config.getLockManager(),luceneId);
      clazz=Class.forName(LUCENE_FULLTEXT_DS_CLASS);
      cleanWriteLocksInLuceneDirectory(storeDir + "String_Node_Str");
      luceneId="String_Node_Str".getBytes();
      luceneFulltext=registerLuceneDataSource("String_Node_Str",clazz.getName(),config.getTxModule(),storeDir + "String_Node_Str",config.getLockManager(),luceneId);
    }
 catch (    ClassNotFoundException e) {
    }
  }
  persistenceSource=new NioNeoDbPersistenceSource();
  config.setNeoPersistenceSource(DEFAULT_DATA_SOURCE_NAME,create);
  config.getIdGeneratorModule().setPersistenceSourceInstance(persistenceSource);
  config.getEventModule().init();
  config.getTxModule().init();
  config.getPersistenceModule().init();
  persistenceSource.init();
  config.getIdGeneratorModule().init();
  config.getNeoModule().init();
  config.getEventModule().start();
  config.getTxModule().start();
  config.getPersistenceModule().start(config.getTxModule().getTxManager(),persistenceSource);
  persistenceSource.start(config.getTxModule().getXaDataSourceManager());
  config.getIdGeneratorModule().start();
  config.getNeoModule().start(config.getLockReleaser(),config.getPersistenceModule().getPersistenceManager(),params);
  if (lucene != null) {
    config.getTxModule().getXaDataSourceManager().unregisterDataSource("String_Node_Str");
    lucene=null;
  }
  if (luceneFulltext != null) {
    config.getTxModule().getXaDataSourceManager().unregisterDataSource("String_Node_Str");
    luceneFulltext=null;
  }
  started=true;
}