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

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

I'm starting to wonder if this is actually a maven bug.  When mojo's are 
executed, it tries to isolate each mojo within its own classloader.

This is the first time I've seen an error like this however, it is strange that 
Log4j has the only pattern that trips up their classloader.

I could file the bug with maven, but then we would have to wait 5 years for 
them to close it as too old to investigate :)

It would probably be a lot easier to just get rid of the inner class in the 
log4j class.



> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to