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
|