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 "Dan Armbrust (JIRA)" <ji...@apache.org> on 2016/01/16 20:12:39 UTC

[jira] [Commented] (LOG4J2-1256) strange classloader failure

    [ https://issues.apache.org/jira/browse/LOG4J2-1256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15103383#comment-15103383 ] 

Dan Armbrust commented on LOG4J2-1256:
--------------------------------------

Here are the only bits of my code that are involved in the stack above:

{code:java}
import javafx.concurrent.Task;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public abstract class TimedTask<T> extends Task<T>  {

    protected static final Logger log = LogManager.getLogger();

// snip....

    @Override
    protected void failed() {
//The failure in log4j comes from this line 
       log.warn("Timed task failed!", this.getException());
    }
}
{code}

> 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