question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Exception when using Log4J and a SNAPSHOT version of the agent

See original GitHub issue

Describe the bug

I see the following exceptions when using the 1.26.1-SNAPSHOT (168b714) on a JBoss EAP:

2021-10-01 09:48:33,384 [ServerService Thread Pool -- 38] ERROR co.elastic.apm.agent.bci.IndyBootstrap - no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeAndSkipIfReplaceEnabled(LogEvent,Appender)boolean/invokeStatic
java.lang.IllegalAccessException: no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeAndSkipIfReplaceEnabled(LogEvent,Appender)boolean/invokeStatic
	at java.lang.invoke.MemberName.makeAccessException(MemberName.java:867) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.findStatic(MethodHandles.java:780) ~[?:1.8.0_302]
	at co.elastic.apm.agent.bci.IndyBootstrap.bootstrap(IndyBootstrap.java:362) [elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
	at java.lang.IndyBootstrapDispatcher.bootstrap(IndyBootstrapDispatcher.java:31) [?:1.8.0_302]
	at java.lang.invoke.CallSite.makeSite(CallSite.java:310) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297) [?:1.8.0_302]
	at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:239) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:540) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:498) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:481) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:456) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.Logger.log(Logger.java:161) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320) [log4j-api-2.14.1.jar:2.14.1]
	at com.example.Foo.bar(Foo.java:123) [example-1.0.jar:1.0]
	...
	at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.3.Final-redhat-00001.jar!/:2.3.3.Final-redhat-00001]
Caused by: java.lang.LinkageError: bad method type alias: (LogEvent,Appender)boolean not visible from class co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice
	at java.lang.invoke.MemberName.checkForTypeAlias(MemberName.java:793) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:976) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000) ~[?:1.8.0_302]
	... 82 more
2021-10-01 09:48:33,388 [ServerService Thread Pool -- 38] ERROR co.elastic.apm.agent.bci.IndyBootstrap - no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeAndSkipIfReplaceEnabled(LogEvent,Appender)boolean/invokeStatic
java.lang.IllegalAccessException: no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeAndSkipIfReplaceEnabled(LogEvent,Appender)boolean/invokeStatic
	at java.lang.invoke.MemberName.makeAccessException(MemberName.java:867) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.findStatic(MethodHandles.java:780) ~[?:1.8.0_302]
	at co.elastic.apm.agent.bci.IndyBootstrap.bootstrap(IndyBootstrap.java:362) [elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
	at java.lang.IndyBootstrapDispatcher.bootstrap(IndyBootstrapDispatcher.java:31) [?:1.8.0_302]
	at java.lang.invoke.CallSite.makeSite(CallSite.java:310) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297) [?:1.8.0_302]
	at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:251) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:540) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:498) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:481) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:456) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.Logger.log(Logger.java:161) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320) [log4j-api-2.14.1.jar:2.14.1]
	at com.example.Foo.bar(Foo.java:123) [example-1.0.jar:1.0]
	...
	at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.3.Final-redhat-00001.jar!/:2.3.3.Final-redhat-00001]
Caused by: java.lang.LinkageError: bad method type alias: (LogEvent,Appender)boolean not visible from class co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice
	at java.lang.invoke.MemberName.checkForTypeAlias(MemberName.java:793) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:976) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000) ~[?:1.8.0_302]
	... 83 more
2021-10-01 09:48:33,393 [ServerService Thread Pool -- 38] ERROR co.elastic.apm.agent.bci.IndyBootstrap - no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeLoggingEvent(LogEvent,Appender)void/invokeStatic
java.lang.IllegalAccessException: no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeLoggingEvent(LogEvent,Appender)void/invokeStatic
	at java.lang.invoke.MemberName.makeAccessException(MemberName.java:867) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.findStatic(MethodHandles.java:780) ~[?:1.8.0_302]
	at co.elastic.apm.agent.bci.IndyBootstrap.bootstrap(IndyBootstrap.java:362) [elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
	at java.lang.IndyBootstrapDispatcher.bootstrap(IndyBootstrapDispatcher.java:31) [?:1.8.0_302]
	at java.lang.invoke.CallSite.makeSite(CallSite.java:310) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297) [?:1.8.0_302]
	at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:186) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:251) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:540) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:498) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:481) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:456) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.Logger.log(Logger.java:161) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320) [log4j-api-2.14.1.jar:2.14.1]
	at com.example.Foo.bar(Foo.java:123) [example-1.0.jar:1.0]
	...
	at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.3.Final-redhat-00001.jar!/:2.3.3.Final-redhat-00001]
Caused by: java.lang.LinkageError: bad method type alias: (LogEvent,Appender)void not visible from class co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice
	at java.lang.invoke.MemberName.checkForTypeAlias(MemberName.java:793) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:976) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000) ~[?:1.8.0_302]
	... 83 more
2021-10-01 09:48:33,396 [ServerService Thread Pool -- 38] ERROR co.elastic.apm.agent.bci.IndyBootstrap - no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeLoggingEvent(LogEvent,Appender)void/invokeStatic
java.lang.IllegalAccessException: no such method: co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice.shadeLoggingEvent(LogEvent,Appender)void/invokeStatic
	at java.lang.invoke.MemberName.makeAccessException(MemberName.java:867) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386) ~[?:1.8.0_302]
	at java.lang.invoke.MethodHandles$Lookup.findStatic(MethodHandles.java:780) ~[?:1.8.0_302]
	at co.elastic.apm.agent.bci.IndyBootstrap.bootstrap(IndyBootstrap.java:362) [elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_302]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_302]
	at java.lang.IndyBootstrapDispatcher.bootstrap(IndyBootstrapDispatcher.java:31) [?:1.8.0_302]
	at java.lang.invoke.CallSite.makeSite(CallSite.java:310) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:307) [?:1.8.0_302]
	at java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:297) [?:1.8.0_302]
	at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:252) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:540) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:498) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:481) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:456) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.core.Logger.log(Logger.java:161) [log4j-core-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983) [log4j-api-2.14.1.jar:2.14.1]
	at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1320) [log4j-api-2.14.1.jar:2.14.1]
	at com.example.Foo.bar(Foo.java:123) [example-1.0.jar:1.0]
	...
	at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.3.Final-redhat-00001.jar!/:2.3.3.Final-redhat-00001]
Caused by: java.lang.LinkageError: bad method type alias: (LogEvent,Appender)void not visible from class co.elastic.apm.agent.log4j2.Log4j2AppenderAppendAdvice
	at java.lang.invoke.MemberName.checkForTypeAlias(MemberName.java:793) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:976) ~[?:1.8.0_302]
	at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000) ~[?:1.8.0_302]
	...

I use the following Configuration:

2021-10-01 09:48:03,752 [main] INFO  co.elastic.apm.agent.configuration.StartupInfo - enable_public_api_annotation_inheritance: 'true' (source: Java System Properties)
2021-10-01 09:48:03,752 [main] INFO  co.elastic.apm.agent.configuration.StartupInfo - application_packages: 'com.example` (source: Java System Properties)
2021-10-01 09:48:03,753 [main] INFO  co.elastic.apm.agent.configuration.StartupInfo - enable_log_correlation: 'true' (source: Java System Properties)

However, the actual log correlation is working.

Steps to reproduce

  • Start a JBoss EAP with a SNAPSHOT version of the agent
  • Deploy a war which uses Log4j2
  • Create a trace

Expected behavior

There are no exceptions in the log

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
felixbarnycommented, Oct 1, 2021

I’m getting different exceptions in my test but I think the underlying issue is that the classes from logback-ecs-encoder aren’t added to the IndyPluginClassLoader. Instead, they’re loaded by the agent class loader which can’t resolve the logback classes.

java.lang.NoClassDefFoundError: ch/qos/logback/core/encoder/EncoderBase
	at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
	at java.lang.ClassLoader.defineClass(ClassLoader.java:1007) ~[?:?]
	at co.elastic.apm.agent.premain.ShadedClassLoader.defineClass(ShadedClassLoader.java:97) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:1.26.1-SNAPSHOT]
	at co.elastic.apm.agent.premain.ShadedClassLoader.findClass(ShadedClassLoader.java:75) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:1.26.1-SNAPSHOT]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:563) ~[?:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:496) ~[?:?]
	at net.bytebuddy.dynamic.loading.MultipleParentClassLoader.loadClass(MultipleParentClassLoader.java:120) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:550) ~[?:?]
	at net.bytebuddy.dynamic.loading.ByteArrayClassLoader$ChildFirst.loadClass(ByteArrayClassLoader.java:1251) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:496) ~[?:?]
	at co.elastic.apm.agent.logback.LogbackEcsReformattingHelper.createEcsFormatter(LogbackEcsReformattingHelper.java:76) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at co.elastic.apm.agent.logback.LogbackEcsReformattingHelper.createEcsFormatter(LogbackEcsReformattingHelper.java:40) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at co.elastic.apm.agent.log.shader.AbstractEcsReformattingHelper.createAndMapShadeAppenderFor(AbstractEcsReformattingHelper.java:310) [elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at co.elastic.apm.agent.log.shader.AbstractEcsReformattingHelper.onAppendEnter(AbstractEcsReformattingHelper.java:200) [elastic-apm-agent-1.26.1-SNAPSHOT.jar:?]
	at co.elastic.apm.agent.logback.LogbackAppenderAppendAdvice.shadeAndSkipIfOverrideEnabled(LogbackAppenderAppendAdvice.java:35) [?:?]
	at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:98) [logback-core-1.2.3.jar:?]
	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84) [logback-core-1.2.3.jar:?]
	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51) [logback-core-1.2.3.jar:?]
	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270) [logback-classic-1.2.3.jar:?]
	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257) [logback-classic-1.2.3.jar:?]
	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421) [logback-classic-1.2.3.jar:?]
	at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383) [logback-classic-1.2.3.jar:?]
	at ch.qos.logback.classic.Logger.log(Logger.java:765) [logback-classic-1.2.3.jar:?]
	at org.apache.logging.slf4j.SLF4JLogger.logMessage(SLF4JLogger.java:232) [log4j-to-slf4j-2.10.0.jar:2.10.0]
	at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2163) [log4j-api-2.10.0.jar:2.10.0]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2118) [log4j-api-2.10.0.jar:2.10.0]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2101) [log4j-api-2.10.0.jar:2.10.0]
	at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2000) [log4j-api-2.10.0.jar:2.10.0]
	at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1859) [log4j-api-2.10.0.jar:2.10.0]
	at org.apache.commons.logging.LogFactory$Log4jLog.log(LogFactory.java:305) [spring-jcl-5.0.4.RELEASE.jar:5.0.4.RELEASE]
	at org.apache.commons.logging.LogFactory$Log4jLog.info(LogFactory.java:269) [spring-jcl-5.0.4.RELEASE.jar:5.0.4.RELEASE]
	at org.springframework.boot.StartupInfoLogger.logStarting(StartupInfoLogger.java:50) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at org.springframework.boot.SpringApplication.logStartupInfo(SpringApplication.java:638) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:369) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:325) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at org.springframework.samples.petclinic.PetClinicApplication.main(PetClinicApplication.java:34) [classes/:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:564) ~[?:?]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.0.RELEASE.jar:2.0.0.RELEASE]
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.encoder.EncoderBase
	at co.elastic.apm.agent.premain.ShadedClassLoader.findClass(ShadedClassLoader.java:77) ~[elastic-apm-agent-1.26.1-SNAPSHOT.jar:1.26.1-SNAPSHOT]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:563) ~[?:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:496) ~[?:?]
	... 43 more

I’ll add a mechanism that allows plugins to add more than just the classes within the plugin package to the IndyPluginClassLoader.

1reaction
tobiasstadlercommented, Oct 1, 2021

@felixbarny Probably #2109 caused the issue

Read more comments on GitHub >

github_iconTop Results From Across the Web

log4j using by the agent will attempt to loading the ... - GitHub
log4j using by the agent will attempt to loading the application's log4j2 class, leads to ClassNotFoundException #1316.
Read more >
org.apache.logging.log4j.Logger.atDebug() with poi-ooxml ...
The spring-boot-starter version 2.2.0 dependency was bringing log4j related dependencies with 2.12.1 version, which, did not have atDebug() ...
Read more >
Log4j Zero Day Vulnerability and the New Relic Java Agent
As a New Relic customer, You have access to Environment Snapshots which shows libraries, JVM flags and runtime versions. With Environment ...
Read more >
Log4j User Guide (PDF) - Apache Logging Services
The latest log4j version, including full-source code, class files and documentation can be found at https:// logging.apache.org/log4j/2.x/index ...
Read more >
Exploiting, Mitigating, and Detecting CVE-2021-44228: Log4j ...
The web application we have deployed for the real scenario is using a vulnerable log4j version, and it's logging the content of the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found