Program: 54661
Project: 54661
Buggy source:
private EmbeddedTomcatServer(final TreeLogger topLogger,int listeningPort,final WorkDirs workDirs) throws LifecycleException {
  if (topLogger == null) {
    throw new NullPointerException("String_Node_Str");
  }
  final TreeLogger logger=topLogger.branch(TreeLogger.INFO,"String_Node_Str" + listeningPort,null);
  startupBranchLogger=logger;
  sTomcat=this;
  File topWorkDir=new File(System.getProperty("String_Node_Str"));
  String catBase=System.getProperty("String_Node_Str");
  if (catBase == null) {
    catBase=generateDefaultCatalinaBase(logger,topWorkDir);
    System.setProperty("String_Node_Str",catBase);
  }
  logger.log(TreeLogger.DEBUG,"String_Node_Str" + catBase,null);
  String adapterClassName=CommonsLoggerAdapter.class.getName();
  System.setProperty("String_Node_Str",adapterClassName);
  Logger catalinaLogger=new CatalinaLoggerAdapter(topLogger);
  catEmbedded=new Embedded();
  catEmbedded.setDebug(0);
  catEmbedded.setLogger(catalinaLogger);
  catEngine=catEmbedded.createEngine();
  catEngine.setName("String_Node_Str");
  catEngine.setDefaultHost("String_Node_Str");
  String appBase=catBase + "String_Node_Str";
  catHost=(StandardHost)catEmbedded.createHost("String_Node_Str",appBase);
  HostConfig hostConfig=new HostConfig();
  catHost.addLifecycleListener(hostConfig);
  catHost.addContainerListener(new ContainerListener(){
    public void containerEvent(    ContainerEvent event){
      if (StandardHost.PRE_INSTALL_EVENT.equals(event.getType())) {
        StandardContext webapp=(StandardContext)event.getData();
        publishShellLoggerAttribute(logger,topLogger,webapp);
        publishShellWorkDirsAttribute(logger,workDirs,webapp);
      }
    }
  }
);
  catEngine.addChild(catHost);
  catEngine.setDefaultHost(catHost.getName());
  catEmbedded.addEngine(catEngine);
  InetAddress nullAddr=null;
  Connector connector=catEmbedded.createConnector(nullAddr,listeningPort,false);
  catEmbedded.addConnector(connector);
  catEmbedded.start();
  port=computeLocalPort(connector);
  if (port != listeningPort) {
    logger.log(TreeLogger.INFO,"String_Node_Str" + port,null);
  }
}

Fixed version (ground truth):
private EmbeddedTomcatServer(final TreeLogger topLogger,int listeningPort,final WorkDirs workDirs) throws LifecycleException {
  if (topLogger == null) {
    throw new NullPointerException("String_Node_Str");
  }
  final TreeLogger logger=topLogger.branch(TreeLogger.INFO,"String_Node_Str" + listeningPort,null);
  startupBranchLogger=logger;
  sTomcat=this;
  File topWorkDir=new File(System.getProperty("String_Node_Str"));
  String catBase=System.getProperty("String_Node_Str");
  if (catBase == null) {
    catBase=generateDefaultCatalinaBase(logger,topWorkDir);
    System.setProperty("String_Node_Str",catBase);
  }
  logger.log(TreeLogger.DEBUG,"String_Node_Str" + catBase,null);
  String adapterClassName=CommonsLoggerAdapter.class.getName();
  System.setProperty("String_Node_Str",adapterClassName);
  Logger catalinaLogger=new CatalinaLoggerAdapter(topLogger);
  catEmbedded=new Embedded();
  catEmbedded.setDebug(0);
  catEmbedded.setLogger(catalinaLogger);
  catEngine=catEmbedded.createEngine();
  catEngine.setName("String_Node_Str");
  catEngine.setDefaultHost("String_Node_Str");
  catEngine.setParentClassLoader(this.getClass().getClassLoader());
  String appBase=catBase + "String_Node_Str";
  catHost=(StandardHost)catEmbedded.createHost("String_Node_Str",appBase);
  HostConfig hostConfig=new HostConfig();
  catHost.addLifecycleListener(hostConfig);
  catHost.addContainerListener(new ContainerListener(){
    public void containerEvent(    ContainerEvent event){
      if (StandardHost.PRE_INSTALL_EVENT.equals(event.getType())) {
        StandardContext webapp=(StandardContext)event.getData();
        publishShellLoggerAttribute(logger,topLogger,webapp);
        publishShellWorkDirsAttribute(logger,workDirs,webapp);
      }
    }
  }
);
  catEngine.addChild(catHost);
  catEngine.setDefaultHost(catHost.getName());
  catEmbedded.addEngine(catEngine);
  InetAddress nullAddr=null;
  Connector connector=catEmbedded.createConnector(nullAddr,listeningPort,false);
  catEmbedded.addConnector(connector);
  catEmbedded.start();
  port=computeLocalPort(connector);
  if (port != listeningPort) {
    logger.log(TreeLogger.INFO,"String_Node_Str" + port,null);
  }
}