logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nikita Koval (JIRA)" <j...@apache.org>
Subject [jira] [Created] (LOG4J2-834) NoClassDefFoundError in ThrowableProxy
Date Wed, 17 Sep 2014 11:48:33 GMT
Nikita Koval created LOG4J2-834:
-----------------------------------

             Summary: NoClassDefFoundError in ThrowableProxy
                 Key: LOG4J2-834
                 URL: https://issues.apache.org/jira/browse/LOG4J2-834
             Project: Log4j 2
          Issue Type: Bug
            Reporter: Nikita Koval


In method *loadClass* we expect {{ClassNotFoundException}}. But if class comes from another
java machine we can get {{NoClassDefFoundError}}.

Possible fix:
{code:java}
private Class<?> loadClass(final ClassLoader lastLoader, final String className) {
       // XXX: this is overly complicated
       Class<?> clazz;
       if (lastLoader != null) {
           try {
               clazz = Loader.initializeClass(className, lastLoader);
               if (clazz != null) {
                   return clazz;
               }
           } catch (final Throwable ignore) {
               // Ignore exception.
           }
       }
       try {
           clazz = Loader.loadClass(className);
       } catch (final ClassNotFoundException | LinkageError ignored) {
           try {
               clazz = Loader.initializeClass(className, this.getClass().getClassLoader());
           } catch (final ClassNotFoundException | LinkageError ignore) {
               return null;
           }
       }
       return clazz;
   }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org


Mime
View raw message