-
Notifications
You must be signed in to change notification settings - Fork 333
Open
Description
With kamon (2.8.0) and the kanela agent (2.0.0), our server throws multiple
exceptions on startup. Single example:
[WARNING] 2025-12-11 14:04:04 [kanela][main] Module [Annotation
Instrumentation] doesn't have any prefixes in the 'within' setting. The
instrumentations from this module will not have any effect.
[ERROR] 2025-12-11 14:04:04 [kanela][main] Failed to instantiate
kamon.instrumentation.akka.http.AkkaHttpServerInstrumentation:
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor
.newInstance(DirectConstructorHandleAccessor.java:74)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller
(Constructor.java:502)
at java.base/java.lang.reflect.Constructor.newInstance
(Constructor.java:486)
at kanela.agent.Kanela.lambda$loadConfiguredModules$0
(Kanela.java:222)
at java.base/java.util.stream.ReferencePipeline$7$1.accept
(ReferencePipeline.java:273)
at java.base/java.util.ArrayList$ArrayListSpliterator
.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto
(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto
(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp
.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate
(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect
(ReferencePipeline.java:682)
at kanela.agent.Kanela.lambda$loadConfiguredModules$1
(Kanela.java:232)
at java.base/java.util.stream.ReferencePipeline$3$1.accept
(ReferencePipeline.java:197)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.stream.SortedOps$RefSortingSink.end
(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end
(Sink.java:261)
at java.base/java.util.stream.AbstractPipeline.copyInto
(AbstractPipeline.java:510)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto
(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp
.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate
(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect
(ReferencePipeline.java:682)
at kanela.agent.Kanela.loadConfiguredModules(Kanela.java:234)
at kanela.agent.Kanela.start(Kanela.java:109)
at kanela.agent.Kanela.premain(Kanela.java:71)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor
.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.instrument/sun.instrument.InstrumentationImpl
.loadClassAndStartAgent(InstrumentationImpl.java:560)
at java.instrument/sun.instrument.InstrumentationImpl
.loadClassAndCallPremain(InstrumentationImpl.java:572)
Caused by: java.lang.NoSuchMethodError:
'kanela.agent.api.instrumentation.InstrumentationBuilder$Target
kamon.instrumentation.akka.http.AkkaHttpServerInstrumentation.onType
(java.lang.String)'
at kamon.instrumentation.akka.http.AkkaHttpServerInstrumentation
.<init>(AkkaHttpServerInstrumentation.scala:39)
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor
.newInstance(DirectConstructorHandleAccessor.java:62)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller
(Constructor.java:502)
at java.base/java.lang.reflect.Constructor.newInstance
(Constructor.java:486)
at kanela.agent.Kanela.lambda$loadConfiguredModules$0
(Kanela.java:222)
at java.base/java.util.stream.ReferencePipeline$7$1.accept
(ReferencePipeline.java:273)
at java.base/java.util.ArrayList$ArrayListSpliterator
.forEachRemaining(ArrayList.java:1708)
at java.base/java.util.stream.AbstractPipeline.copyInto
(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto
(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp
.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate
(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect
(ReferencePipeline.java:682)
...
Our server threw over 60 of these, a couple of more examples of no such
method issues reported:
Caused by: java.lang.NoSuchMethodError:
'kanela.agent.api.instrumentation.InstrumentationBuilder$Target
kamon.instrumentation.akka.http.AkkaHttpClientInstrumentation.onType
(java.lang.String)'
Caused by: java.lang.NoSuchMethodError:
'kanela.agent.api.instrumentation.InstrumentationBuilder$Target
kamon.instrumentation.akka.instrumentations.EnvelopeInstrumentation
.onType(java.lang.String)'
Metadata
Metadata
Assignees
Labels
No labels