You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Benjamin Jaton (JIRA)" <ji...@apache.org> on 2016/05/24 16:23:13 UTC

[jira] [Issue Comment Deleted] (LOG4J2-1256) strange classloader failure

     [ https://issues.apache.org/jira/browse/LOG4J2-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Jaton updated LOG4J2-1256:
-----------------------------------
    Comment: was deleted

(was: I am using a custom URLClassLoader to load my jars:

    Thread.currentThread().setContextClassLoader(...);

Then I load and run a main class and I end up with a similar stacktrace:

{CODE}Exception in thread "Thread-5" java.lang.NoClassDefFoundError: org/apache/logging/log4j/core/impl/ThrowableProxy
	at org.apache.logging.log4j.core.impl.Log4jLogEvent.getThrownProxy(Log4jLogEvent.java:482)
	at org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:64)
	at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36)
	at org.apache.logging.log4j.core.layout.PatternLayout$PatternSerializer.toSerializable(PatternLayout.java:292)
	at org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:206)
	at org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:56)
	at org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:148)
	at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:112)
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:152)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:125)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:116)
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:390)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:378)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
	at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:384)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:379)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
	at org.apache.logging.log4j.core.config.LoggerConfig.logParent(LoggerConfig.java:384)
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:379)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:352)
	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
	at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:147)
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1011)
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:988)
	at org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:402)
{CODE}

Note that in my case it's not the inner class that can't be found, just ThrowableProxy. But it is similar in that it can find other classes from log4j-core, but not this one.)

> strange classloader failure
> ---------------------------
>
>                 Key: LOG4J2-1256
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1256
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.5
>            Reporter: Dan Armbrust
>
> I am utilizing log4j in a maven mojo extension (code that plugs into maven, and executes as part of a mojo build)
> My code is encountering an internal error of its own - but when the code attempts to log the error, this happens:
> {code}
> Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: org/apache/logging/log4j/core/impl/ThrowableProxy$CacheEntry
>         at org.apache.logging.log4j.core.impl.ThrowableProxy.toCacheEntry(ThrowableProxy.java:560)
>         at org.apache.logging.log4j.core.impl.ThrowableProxy.toExtendedStackTrace(ThrowableProxy.java:603)
>         at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:135)
>         at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:117)
>         at org.apache.logging.log4j.core.impl.Log4jLogEvent.getThrownProxy(Log4jLogEvent.java:482)
>         at org.apache.logging.log4j.core.pattern.ExtendedThrowablePatternConverter.format(ExtendedThrowablePatternConverter.java:64)
>         at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36)
>         at org.apache.logging.log4j.core.layout.PatternLayout$PatternSerializer.toSerializable(PatternLayout.java:292)
>         at org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:206)
>         at org.apache.logging.log4j.core.layout.PatternLayout.toSerializable(PatternLayout.java:56)
>         at org.apache.logging.log4j.core.layout.AbstractStringLayout.toByteArray(AbstractStringLayout.java:148)
>         at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:112)
>         at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:152)
>         at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:125)
>         at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:116)
>         at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>         at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:390)
>         at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:378)
>         at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:362)
>         at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:352)
>         at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
>         at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:147)
>         at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:1011)
>         at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:988)
>         at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:1264)
>         at gov.vha.isaac.ochre.api.task.TimedTask.failed(TimedTask.java:148)
>         at javafx.concurrent.Task.setState(Task.java:708)
>         at javafx.concurrent.Task$TaskCallable.lambda$call$502(Task.java:1453)
>         at com.sun.javafx.application.PlatformImpl.lambda$null$174(PlatformImpl.java:295)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(PlatformImpl.java:294)
>         at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
>         at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
>         at com.sun.glass.ui.gtk.GtkApplication.lambda$null$50(GtkApplication.java:139)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.core.impl.ThrowableProxy$CacheEntry
>         at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
>         at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
>         at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
>         at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
>         ... 35 more
> {code}
> This is very odd to me, as the class not found is an inner class, inside of a class that is obviously on the classpath (from the rest of the stack trace)



--
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