Program: 79859
Project: 79859
Buggy source:
/** 
 * Static initialisation section will be called the first time the SessionService is initailised. Note: This function depends on the singleton pattern that the SessionService follows.
 */
private static void initialiseStatic(){
  sessionDebug=Debug.getInstance("String_Node_Str");
  stats=Stats.getInstance("String_Node_Str");
  int poolSize=DEFAULT_POOL_SIZE;
  int threshold=DEFAULT_THRESHOLD;
  String size=SystemProperties.get(Constants.NOTIFICATION_THREADPOOL_SIZE);
  if (size != null) {
    try {
      poolSize=Integer.parseInt(size);
    }
 catch (    NumberFormatException e) {
      sessionDebug.error("String_Node_Str" + size + "String_Node_Str"+ DEFAULT_POOL_SIZE);
    }
  }
  String thres=SystemProperties.get(Constants.NOTIFICATION_THREADPOOL_THRESHOLD);
  if (thres != null) {
    try {
      threshold=Integer.parseInt(thres);
    }
 catch (    Exception e) {
      sessionDebug.error("String_Node_Str" + thres + "String_Node_Str"+ DEFAULT_THRESHOLD);
    }
  }
  ShutdownManager shutdownMan=ShutdownManager.getInstance();
  if (shutdownMan.acquireValidLock()) {
    try {
      threadPool=new ThreadPool("String_Node_Str",poolSize,threshold,true,sessionDebug);
      shutdownMan.addShutdownListener(new ShutdownListener(){
        public void shutdown(){
          threadPool.shutdown();
        }
      }
);
    }
  finally {
      shutdownMan.releaseLockAndNotify();
    }
  }
  if (threadPool != null) {
    try {
      maxSessions=Integer.parseInt(SystemProperties.get(Constants.AM_SESSION_MAX_SESSIONS));
    }
 catch (    Exception ex) {
      maxSessions=10000;
    }
  }
  String status=SystemProperties.get(Constants.AM_LOGSTATUS);
  if (status == null) {
    status="String_Node_Str";
  }
  logStatus=status.equalsIgnoreCase("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Static initialisation section will be called the first time the SessionService is initailised. Note: This function depends on the singleton pattern that the SessionService follows.
 */
private static void initialiseStatic(){
  Key<Debug> key=Key.get(Debug.class,Names.named(SessionConstants.SESSION_DEBUG));
  sessionDebug=InjectorHolder.getInstance(key);
  stats=Stats.getInstance("String_Node_Str");
  int poolSize=DEFAULT_POOL_SIZE;
  int threshold=DEFAULT_THRESHOLD;
  String size=SystemProperties.get(Constants.NOTIFICATION_THREADPOOL_SIZE);
  if (size != null) {
    try {
      poolSize=Integer.parseInt(size);
    }
 catch (    NumberFormatException e) {
      sessionDebug.error("String_Node_Str" + size + "String_Node_Str"+ DEFAULT_POOL_SIZE);
    }
  }
  String thres=SystemProperties.get(Constants.NOTIFICATION_THREADPOOL_THRESHOLD);
  if (thres != null) {
    try {
      threshold=Integer.parseInt(thres);
    }
 catch (    Exception e) {
      sessionDebug.error("String_Node_Str" + thres + "String_Node_Str"+ DEFAULT_THRESHOLD);
    }
  }
  ShutdownManager shutdownMan=ShutdownManager.getInstance();
  if (shutdownMan.acquireValidLock()) {
    try {
      threadPool=new ThreadPool("String_Node_Str",poolSize,threshold,true,sessionDebug);
      shutdownMan.addShutdownListener(new ShutdownListener(){
        public void shutdown(){
          threadPool.shutdown();
        }
      }
);
    }
  finally {
      shutdownMan.releaseLockAndNotify();
    }
  }
  if (threadPool != null) {
    try {
      maxSessions=Integer.parseInt(SystemProperties.get(Constants.AM_SESSION_MAX_SESSIONS));
    }
 catch (    Exception ex) {
      maxSessions=10000;
    }
  }
  String status=SystemProperties.get(Constants.AM_LOGSTATUS);
  if (status == null) {
    status="String_Node_Str";
  }
  logStatus=status.equalsIgnoreCase("String_Node_Str");
}