-
Notifications
You must be signed in to change notification settings - Fork 314
Closed
Closed
Copy link
Milestone
Description
After updating to 1.7.0 from 0.115.0 we get the following error on startup of our services:
Exception in thread "main" java.lang.UnsatisfiedLinkError: could not load FFI provider ddtrot.jnr.ffi.provider.jffi.Provider
at ddtrot.jnr.ffi.provider.InvalidProvider$1.loadLibrary(InvalidProvider.java:49)
at ddtrot.jnr.ffi.LibraryLoader.load(LibraryLoader.java:420)
at ddtrot.jnr.unixsocket.Native.<clinit>(Native.java:80)
at ddtrot.jnr.unixsocket.UnixSocketChannel.<init>(UnixSocketChannel.java:101)
at ddtrot.jnr.unixsocket.UnixSocketChannel.open(UnixSocketChannel.java:60)
at ddtrot.dd.common.socket.UnixDomainSocketFactory.createSocket(UnixDomainSocketFactory.java:27)
at ddtrot.okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:241)
at ddtrot.okhttp3.internal.connection.RealConnection.connect(RealConnection.java:167)
at ddtrot.okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:258)
at ddtrot.okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
at ddtrot.okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
at ddtrot.okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at ddtrot.okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at ddtrot.okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at ddtrot.okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:127)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at ddtrot.okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at ddtrot.okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:257)
at ddtrot.okhttp3.RealCall.execute(RealCall.java:93)
at ddtrot.dd.communication.ddagent.DDAgentFeaturesDiscovery.doDiscovery(DDAgentFeaturesDiscovery.java:132)
at ddtrot.dd.communication.ddagent.DDAgentFeaturesDiscovery.discoverIfOutdated(DDAgentFeaturesDiscovery.java:117)
at ddtrot.dd.communication.ddagent.DDAgentFeaturesDiscovery.discover(DDAgentFeaturesDiscovery.java:105)
at ddtrot.dd.communication.ddagent.SharedCommunicationObjects.featuresDiscovery(SharedCommunicationObjects.java:83)
at ddtrot.dd.trace.common.writer.WriterFactory.createWriter(WriterFactory.java:80)
at ddtrot.dd.trace.common.writer.WriterFactory.createWriter(WriterFactory.java:42)
at ddtrot.dd.trace.core.CoreTracer.<init>(CoreTracer.java:529)
at ddtrot.dd.trace.core.CoreTracer.<init>(CoreTracer.java:101)
at ddtrot.dd.trace.core.CoreTracer$CoreTracerBuilder.build(CoreTracer.java:399)
at datadog.opentracing.DDTracer.<init>(DDTracer.java:402)
at datadog.opentracing.DDTracer.<init>(DDTracer.java:41)
at datadog.opentracing.DDTracer$DDTracerBuilder.build(DDTracer.java:168)
at com.example.tracing.SetupKt.initTracing(Setup.kt:38)
at com.example.lifecycle.LifecycleKt.runApplication(Lifecycle.kt:73)
at com.example.lifecycle.LifecycleKt.runService(Lifecycle.kt:47)
at com.example.myService.MainKt.main(Main.kt:61)
at com.example.myService.MainKt.main(Main.kt)
Caused by: java.lang.UnsatisfiedLinkError: could not get native definition for type `POINTER`, original error message follows: 'int ddtrot.com.kenai.jffi.Foreign.getVersion()'
at ddtrot.com.kenai.jffi.Type$Builtin.lookupTypeInfo(Type.java:253)
at ddtrot.com.kenai.jffi.Type$Builtin.getTypeInfo(Type.java:237)
at ddtrot.com.kenai.jffi.Type.resolveSize(Type.java:155)
at ddtrot.com.kenai.jffi.Type.size(Type.java:138)
at ddtrot.jnr.ffi.provider.jffi.NativeRuntime$TypeDelegate.size(NativeRuntime.java:198)
at ddtrot.jnr.ffi.provider.AbstractRuntime.<init>(AbstractRuntime.java:48)
at ddtrot.jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:77)
at ddtrot.jnr.ffi.provider.jffi.NativeRuntime.<init>(NativeRuntime.java:49)
at ddtrot.jnr.ffi.provider.jffi.NativeRuntime$SingletonHolder.<clinit>(NativeRuntime.java:73)
at ddtrot.jnr.ffi.provider.jffi.NativeRuntime.getInstance(NativeRuntime.java:60)
at ddtrot.jnr.ffi.provider.jffi.Provider.<init>(Provider.java:29)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347)
at java.base/java.lang.Class.newInstance(Class.java:645)
at ddtrot.jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.getInstance(FFIProvider.java:68)
at ddtrot.jnr.ffi.provider.FFIProvider$SystemProviderSingletonHolder.<clinit>(FFIProvider.java:57)
at ddtrot.jnr.ffi.provider.FFIProvider.getSystemProvider(FFIProvider.java:35)
at ddtrot.jnr.ffi.LibraryLoader.create(LibraryLoader.java:89)
at ddtrot.jnr.unixsocket.Native.<clinit>(Native.java:76)
... 38 more
This is a kotlin service using gradle. The base image we run on is openjdk:17-jdk-bullseye. This is the output of uname -a
:
Linux example-7c84f9446c-qfkwv 5.10.147+ jnr/jnr-ffi#1 SMP Thu Nov 10 10:14:30 UTC 2022 x86_64 GNU/Linux