Program: 30391
Project: 30391
Buggy source:
/** 
 * Method getLogger
 * @param clazz
 * @param name
 * @return
 */
public static synchronized Logger getLogger(final Class clazz,final String name){
  final ClassLoader cloader=clazz.getClassLoader();
  Logger l=LogManager.getLogManager().getLogger(name);
  if (l == null) {
    l=Logger.getLogger(name);
  }
  ;
  String pkgName=clazz.getPackage().getName();
  String loggerName=name + "String_Node_Str" + pkgName;
  Logger cLogger=LogManager.getLogManager().getLogger(loggerName);
  if (cLogger == null) {
    cLogger=new Logger(loggerName,null){
      private final int offValue=Level.OFF.intValue();
      public void log(      LogRecord record){
        record.getSourceMethodName();
        if (record.getResourceBundle() == null) {
          ResourceBundle rb=getResourceBundle();
          if (rb != null) {
            record.setResourceBundle(rb);
          }
        }
        if (record.getMessage() == null) {
          record.setMessage("String_Node_Str");
        }
        super.log(record);
      }
      /** 
 * Retrieve the localization resource bundle for this logger for the current default locale.  Note that if the result is null, then the Logger will use a resource bundle inherited from its parent.
 * @return localization bundle (may be null)
 */
      public ResourceBundle getResourceBundle(){
        try {
          return ResourceBundle.getBundle(getLoggerResourceBundleName(name),Locale.getDefault(),cloader);
        }
 catch (        MissingResourceException e) {
          String root=clazz.getPackage().getName();
          try {
            return ResourceBundle.getBundle(root + "String_Node_Str" + RESOURCE_BUNDLE,Locale.getDefault(),cloader);
          }
 catch (          MissingResourceException me) {
            String p=root;
            while (p != null) {
              try {
                int i=p.lastIndexOf("String_Node_Str");
                if (i != -1) {
                  p=p.substring(0,i);
                  return ResourceBundle.getBundle(p + "String_Node_Str" + RESOURCE_BUNDLE,Locale.getDefault(),cloader);
                }
 else {
                  p=null;
                }
              }
 catch (              MissingResourceException mre) {
              }
            }
          }
          try {
            return ResourceBundle.getBundle(getLoggerResourceBundleName(name),Locale.getDefault(),LogDomains.class.getClassLoader());
          }
 catch (          MissingResourceException me) {
          }
          Logger l=LogManager.getLogManager().getLogger(name);
          l.log(Level.FINE,"String_Node_Str" + "String_Node_Str" + clazz.getName());
          return null;
        }
      }
    }
;
    if (!addLoggerToLogManager(cLogger)) {
      final Logger existing=LogManager.getLogManager().getLogger(name);
      if (existing == null) {
        addLoggerToLogManager(cLogger);
      }
 else {
        cLogger=existing;
      }
    }
  }
  ;
  return cLogger;
}

Fixed version (ground truth):
/** 
 * Method getLogger
 * @param clazz
 * @param name
 * @return
 */
public static synchronized Logger getLogger(final Class clazz,final String name){
  final ClassLoader cloader=clazz.getClassLoader();
  Logger l=LogManager.getLogManager().getLogger(name);
  if (l == null) {
    l=Logger.getLogger(name);
  }
  ;
  String pkgName=clazz.getPackage().getName();
  String loggerName=name + "String_Node_Str" + pkgName;
  Logger cLogger=LogManager.getLogManager().getLogger(loggerName);
  if (cLogger == null) {
    cLogger=new Logger(loggerName,null){
      private final int offValue=Level.OFF.intValue();
      public void log(      LogRecord record){
        record.getSourceMethodName();
        if (record.getResourceBundle() == null) {
          ResourceBundle rb=getResourceBundle();
          if (rb != null) {
            record.setResourceBundle(rb);
          }
        }
        if (record.getMessage() == null) {
          record.setMessage("String_Node_Str");
        }
        super.log(record);
      }
      /** 
 * Retrieve the localization resource bundle for this logger for the current default locale.  Note that if the result is null, then the Logger will use a resource bundle inherited from its parent.
 * @return localization bundle (may be null)
 */
      public ResourceBundle getResourceBundle(){
        try {
          return ResourceBundle.getBundle(getLoggerResourceBundleName(name),Locale.getDefault(),cloader);
        }
 catch (        MissingResourceException e) {
          String root=clazz.getPackage().getName();
          try {
            return ResourceBundle.getBundle(root + "String_Node_Str" + RESOURCE_BUNDLE,Locale.getDefault(),cloader);
          }
 catch (          MissingResourceException me) {
            String p=root;
            while (p != null) {
              try {
                int i=p.lastIndexOf("String_Node_Str");
                if (i != -1) {
                  p=p.substring(0,i);
                  return ResourceBundle.getBundle(p + "String_Node_Str" + RESOURCE_BUNDLE,Locale.getDefault(),cloader);
                }
 else {
                  p=null;
                }
              }
 catch (              MissingResourceException mre) {
              }
            }
          }
          try {
            return ResourceBundle.getBundle(getLoggerResourceBundleName(name),Locale.getDefault(),LogDomains.class.getClassLoader());
          }
 catch (          MissingResourceException me) {
          }
          if (!vectorClazz.contains(clazz.getName())) {
            Logger l=LogManager.getLogManager().getLogger(name);
            l.log(Level.FINE,"String_Node_Str" + "String_Node_Str" + clazz.getName());
            vectorClazz.add(clazz.getName());
          }
          return null;
        }
      }
    }
;
    if (!addLoggerToLogManager(cLogger)) {
      final Logger existing=LogManager.getLogManager().getLogger(name);
      if (existing == null) {
        addLoggerToLogManager(cLogger);
      }
 else {
        cLogger=existing;
      }
    }
  }
  ;
  return cLogger;
}