OpenCensus GCP access error
What's inside this article
⌄
- Opencensus GCP private field error
- Opencensus access violation GCP
- Fix opencensus private field
- Opencensus GCP permission error
If you getting these opencensus errors in GCP from time to time:
java.lang.IllegalAccessError: class io.grpc.internal.CensusTracingModule$TracingClientInterceptor tried to access private field io.opencensus.trace.unsafe.ContextUtils.CONTEXT_SPAN_KEY (io.grpc.internal.CensusTracingModule$TracingClientInterceptor and io.opencensus.trace.unsafe.ContextUtils are in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @1753acfe)
at io.grpc.internal.CensusTracingModule$TracingClientInterceptor.interceptCall(CensusTracing Module.java:384)
And this one:
java.lang.IllegalAccessError: class io.opencensus.implcore.tags.CurrentTagContextUtils tried to access private field io.opencensus.tags.unsafe.ContextUtils.TAG_CONTEXT_KEY (io.opencensus.implcore.tags.CurrentTagContextUtils and io.opencensus.tags.unsafe.ContextUtils are in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @1753acfe)
at io.opencensus.implcore.tags.CurrentTagContextUtils.getCurrentTagContext(CurrentTagContextUtils.java:37)
It worth to recheck dependency version of each opencensus component, that actually presented in your final jar:
io.opencensus:opencensus-apiio.opencensus:opencensus-exporter-trace-stackdriverio.opencensus:opencensus-implio.opencensus:opencensus-contrib-spring
You may have opencensus-api version 0.19.2, and opencensus-impl version 0.15.0. Thus, a solution is to equalize all these versions.
You can review your dependency versions with the following commands:
For Maven:
mvn dependency:tree
For Gradle:
./gradlew dependencies
And keep in mind, that in case you’re using Gradle, it may set version constraints for some artifacts.
If some dependency set constraint for this artifact, gradle will show (c) symbol after version number like this:
io.opencensus:opencensus-api:0.15.0 (c)