javax.naming.directory.InitialDirContext fails on windows
Open
jvalkeal
opened this issue 3 years ago
•
7 comments
Describe the issue
Essentially on windows image you will get NPE from:
java.lang.NullPointerException
at sun.net.dns.ResolverConfigurationImpl.stringToList(ResolverConfigurationImpl.java:69)
at sun.net.dns.ResolverConfigurationImpl.loadConfig(ResolverConfigurationImpl.java:136)
at sun.net.dns.ResolverConfigurationImpl.nameservers(ResolverConfigurationImpl.java:159)
at com.sun.jndi.dns.DnsContextFactory.serversForUrls(DnsContextFactory.java:149)
at com.sun.jndi.dns.DnsContextFactory.getContext(DnsContextFactory.java:81)
at com.sun.jndi.dns.DnsContextFactory.urlToContext(DnsContextFactory.java:120)
at com.sun.jndi.dns.DnsContextFactory.getInitialContext(DnsContextFactory.java:64)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:732)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305)
at javax.naming.InitialContext.init(InitialContext.java:236)
at javax.naming.InitialContext.<init>(InitialContext.java:208)
at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:130)
Steps to reproduce the issue
Test code and GH Actions runs can be found from https://github.com/jvalkeal/win-netty-issue. There doesn't seem to be any issues on macos/linux, just when running native on windows. Matrix build shows that java Test runs ok but test.exe doesn't.
Describe GraalVM and your environment:
GraalVM version [latest, dev, '22.0.0.2']
JDK major version: [11/17]
OS: [Windows in GH Runners]
Architecture: [e.g.: AMD64]
More details
This was originally reported and discussed as a netty issue as it looks to initiate call to this stack.
However looks like for some reason https://github.com/openjdk/jdk/blob/a9a271179d2a7952154b7509a999b100cc98b13c/src/java.base/windows/classes/sun/net/dns/ResolverConfigurationImpl.java#L101 doesn't initialize class fields via native call, thus the NPE. Or at least that's where my debugging skills stopped.
Thanks for your suggestion, it is really helpful for resolving my problem. Let me paste my error message to help the search engine to locate this page
[ WARN] (Thread-0) throwIfFatal detected a jvm fatal exception, which is thrown and logged below: - java.lang.ExceptionInInitializerError java.lang.ExceptionInInitializerError at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.provider(DnsServerAddressStreamProviders.java:142) at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.<init>(DnsServerAddressStreamProviders.java:122) at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder.<clinit>(DnsServerAddressStreamProviders.java:120) at io.netty.resolver.dns.DnsServerAddressStreamProviders.unixDefault(DnsServerAddressStreamProviders.java:109) at io.netty.resolver.dns.DnsServerAddressStreamProviders.platformDefault(DnsServerAddressStreamProviders.java:105) at io.netty.resolver.dns.DnsNameResolverBuilder.<init>(DnsNameResolverBuilder.java:60) at reactor.netty.transport.NameResolverProvider.newNameResolverGroup(NameResolverProvider.java:479) at reactor.netty.tcp.TcpResources.getOrCreateDefaultResolver(TcpResources.java:315) at reactor.netty.http.HttpResources.getOrCreateDefaultResolver(HttpResources.java:162) at reactor.netty.http.client.HttpClientConfig.defaultAddressResolverGroup(HttpClientConfig.java:395) at reactor.netty.transport.ClientTransportConfig.resolverInternal(ClientTransportConfig.java:225) at reactor.netty.http.client.HttpClientConfig.resolverInternal(HttpClientConfig.java:449) at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.lambda$subscribe$0(HttpClientConnect.java:265) at reactor.core.publisher.MonoCreate.subscribe(MonoCreate.java:58) at reactor.core.publisher.FluxRetryWhen.subscribe(FluxRetryWhen.java:77) at reactor.core.publisher.MonoRetryWhen.subscribeOrReturn(MonoRetryWhen.java:46) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57) at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect.subscribe(HttpClientConnect.java:272) at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64) at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55) at reactor.core.publisher.Mono.subscribe(Mono.java:4444) at reactor.core.publisher.Mono.subscribeWith(Mono.java:4510) at reactor.core.publisher.Mono.subscribe(Mono.java:4272) at cn.gzten.kay.KayWithWebClient.issueAnHttpRequest(KayWithWebClient.java:145) at [email protected]/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577) at [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:317) at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at [email protected]/java.lang.Thread.run(Thread.java:1589) at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775) at org.graalvm.nativeimage.builder/com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:178) Caused by: java.lang.NullPointerException at [email protected]/sun.net.dns.ResolverConfigurationImpl.stringToList(ResolverConfigurationImpl.java:71) at [email protected]/sun.net.dns.ResolverConfigurationImpl.loadConfig(ResolverConfigurationImpl.java:138) at [email protected]/sun.net.dns.ResolverConfigurationImpl.nameservers(ResolverConfigurationImpl.java:161) at [email protected]/com.sun.jndi.dns.DnsContextFactory.serversForUrls(DnsContextFactory.java:149) at [email protected]/com.sun.jndi.dns.DnsContextFactory.getContext(DnsContextFactory.java:81) at [email protected]/com.sun.jndi.dns.DnsContextFactory.urlToContext(DnsContextFactory.java:120) at [email protected]/com.sun.jndi.dns.DnsContextFactory.getInitialContext(DnsContextFactory.java:64) at [email protected]/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:732) at [email protected]/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) at [email protected]/javax.naming.InitialContext.init(InitialContext.java:236) at [email protected]/javax.naming.InitialContext.<init>(InitialContext.java:208) at [email protected]/javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:130) at io.netty.resolver.dns.DirContextUtils.addNameServers(DirContextUtils.java:49) at io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.<clinit>(DefaultDnsServerAddressStreamProvider.java:53) ... 31 more
I am also encountering this issue.
The suggested workaround is working, many thanks.
With that said, would it be possible to have a permanent fix instead of the workaround please?
Maybe could you provide a Registrar like solution?
I have looked into this issue. The ResolverConfigurationImpl class is initialized at build time by default. During initialization, it invokes the JNI method init0, which sets values for the static global variables searchlistID and nameserversID.
At runtime, when the searchlist or nameservers methods are called, the JNI method loadDNSconfig0 is invoked. However, the searchlistID and nameserversID variables in ResolverConfigurationImpl.c are only set at build time and are not initialized with values at runtime.
As a result, the os_searchlist and os_nameservers variables on the Java side are not set with values, leading to a NullPointerException. This issue is specific to Windows. To address this issue, It is necessary to modify the ResolverConfigurationImpl class to be initialized at runtime, as suggested in https://github.com/oracle/graal/issues/4304#issuecomment-1107528415. I have created a pull request to implement this change. #10396
[
{
"name":"sun.net.dns.ResolverConfigurationImpl",
"fields":[
{"name":"os_searchlist"},
{"name":"os_nameservers"}
]
}
]
in conjunction with --initialize-at-run-time=sun.net.dns.ResolverConfigurationImpl as workaround.
I added jni-config.json in the META-INF.native-image directory, and other exceptions occurred
java.lang.NoSuchFieldError: sun.net.dns.ResolverConfigurationImpl.os_searchlist
at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions$Support.getFieldID(JNIFunctions.java:1869) ~[na:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions.GetStaticFieldID(JNIFunctions.java:467) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.init0(Native Method) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.(ResolverConfigurationImpl.java:199) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfiguration.open(ResolverConfiguration.java:56) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.serversForUrls(DnsContextFactory.java:148) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.getContext(DnsContextFactory.java:81) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.urlToContext(DnsContextFactory.java:119) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.getInitialContext(DnsContextFactory.java:64) ~[demo.exe:na]
at [email protected]/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:505) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.init(InitialContext.java:236) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.(InitialContext.java:208) ~[demo.exe:na]
at [email protected]/javax.naming.directory.InitialDirContext.(InitialDirContext.java:130) ~[demo.exe:na]
at io.netty.resolver.dns.DirContextUtils.addNameServers(DirContextUtils.java:49) ~[na:na]
at io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.(DefaultDnsServerAddressStreamProvider.java:70) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.provider(DnsServerAddressStreamProviders.java:150) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.(DnsServerAddressStreamProviders.java:130) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder.(DnsServerAddressStreamProviders.java:128) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders.unixDefault(DnsServerAddressStreamProviders.java:117) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders.platformDefault(DnsServerAddressStreamProviders.java:113) ~[na:na]
at io.netty.resolver.dns.DnsNameResolverBuilder.(DnsNameResolverBuilder.java:71) ~[na:na]
at reactor.netty.transport.NameResolverProvider.newNameResolverGroup(NameResolverProvider.java:589) ~[na:na]
at reactor.netty.transport.ClientTransportConfig.lambda$getOrCreateResolver$0(ClientTransportConfig.java:274) ~[demo.exe:1.2.5]
at [email protected]/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1724) ~[demo.exe:na]
at reactor.netty.internal.util.MapUtils.computeIfAbsent(MapUtils.java:63) ~[na:na]
at reactor.netty.transport.ClientTransportConfig.getOrCreateResolver(ClientTransportConfig.java:273) ~[demo.exe:1.2.5]
at reactor.netty.transport.ClientTransport.runOn(ClientTransport.java:422) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:318) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:74) ~[demo.exe:1.2.5]
at reactor.netty.transport.Transport.runOn(Transport.java:248) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:313) ~[demo.exe:1.2.5]
at io.asyncer.r2dbc.mysql.client.Client.connect(Client.java:143) ~[demo.exe:1.4.1]
at io.asyncer.r2dbc.mysql.MySqlConnectionFactory.lambda$getMySqlConnection$2(MySqlConnectionFactory.java:141) ~[na:na]
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:153) ~[demo.exe:3.7.5]
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) ~[demo.exe:3.7.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4560) ~[demo.exe:3.7.5]
at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126) ~[demo.exe:3.7.5]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[demo.exe:3.7.5]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[demo.exe:3.7.5]
at [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:328) ~[demo.exe:na]
at [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:309) ~[na:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[demo.exe:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[na:na]
at [email protected]/java.lang.Thread.runWith(Thread.java:1460) ~[demo.exe:na]
at [email protected]/java.lang.Thread.run(Thread.java:1447) ~[demo.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:832) ~[demo.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:808) ~[demo.exe:na]
2025-04-29T17:39:10.394+08:00 WARN 29628 --- [demo] [ single-1] reactor.core.Exceptions : throwIfFatal detected a jvm fatal exception, which is thrown and logged below:
java.lang.NoSuchFieldError: sun.net.dns.ResolverConfigurationImpl.os_searchlist
at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions$Support.getFieldID(JNIFunctions.java:1869) ~[na:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions.GetStaticFieldID(JNIFunctions.java:467) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.init0(Native Method) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.(ResolverConfigurationImpl.java:199) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfiguration.open(ResolverConfiguration.java:56) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.serversForUrls(DnsContextFactory.java:148) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.getContext(DnsContextFactory.java:81) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.urlToContext(DnsContextFactory.java:119) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.getInitialContext(DnsContextFactory.java:64) ~[demo.exe:na]
at [email protected]/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:505) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.init(InitialContext.java:236) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.(InitialContext.java:208) ~[demo.exe:na]
at [email protected]/javax.naming.directory.InitialDirContext.(InitialDirContext.java:130) ~[demo.exe:na]
at io.netty.resolver.dns.DirContextUtils.addNameServers(DirContextUtils.java:49) ~[na:na]
at io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.(DefaultDnsServerAddressStreamProvider.java:70) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.provider(DnsServerAddressStreamProviders.java:150) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.(DnsServerAddressStreamProviders.java:130) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder.(DnsServerAddressStreamProviders.java:128) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders.unixDefault(DnsServerAddressStreamProviders.java:117) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders.platformDefault(DnsServerAddressStreamProviders.java:113) ~[na:na]
at io.netty.resolver.dns.DnsNameResolverBuilder.(DnsNameResolverBuilder.java:71) ~[na:na]
at reactor.netty.transport.NameResolverProvider.newNameResolverGroup(NameResolverProvider.java:589) ~[na:na]
at reactor.netty.transport.ClientTransportConfig.lambda$getOrCreateResolver$0(ClientTransportConfig.java:274) ~[demo.exe:1.2.5]
at [email protected]/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1724) ~[demo.exe:na]
at reactor.netty.internal.util.MapUtils.computeIfAbsent(MapUtils.java:63) ~[na:na]
at reactor.netty.transport.ClientTransportConfig.getOrCreateResolver(ClientTransportConfig.java:273) ~[demo.exe:1.2.5]
at reactor.netty.transport.ClientTransport.runOn(ClientTransport.java:422) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:318) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:74) ~[demo.exe:1.2.5]
at reactor.netty.transport.Transport.runOn(Transport.java:248) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:313) ~[demo.exe:1.2.5]
at io.asyncer.r2dbc.mysql.client.Client.connect(Client.java:143) ~[demo.exe:1.4.1]
at io.asyncer.r2dbc.mysql.MySqlConnectionFactory.lambda$getMySqlConnection$2(MySqlConnectionFactory.java:141) ~[na:na]
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:153) ~[demo.exe:3.7.5]
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) ~[demo.exe:3.7.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4560) ~[demo.exe:3.7.5]
at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126) ~[demo.exe:3.7.5]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[demo.exe:3.7.5]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[demo.exe:3.7.5]
at [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:328) ~[demo.exe:na]
at [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:309) ~[na:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[demo.exe:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[na:na]
at [email protected]/java.lang.Thread.runWith(Thread.java:1460) ~[demo.exe:na]
at [email protected]/java.lang.Thread.run(Thread.java:1447) ~[demo.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:832) ~[demo.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:808) ~[demo.exe:na]
2025-04-29T17:39:10.396+08:00 ERROR 29628 --- [demo] [ single-1] reactor.core.scheduler.Schedulers : Scheduler worker in group main failed with an uncaught exception
java.lang.NoSuchFieldError: sun.net.dns.ResolverConfigurationImpl.os_searchlist
at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions$Support.getFieldID(JNIFunctions.java:1869) ~[na:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions.GetStaticFieldID(JNIFunctions.java:467) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.init0(Native Method) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.(ResolverConfigurationImpl.java:199) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfiguration.open(ResolverConfiguration.java:56) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.serversForUrls(DnsContextFactory.java:148) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.getContext(DnsContextFactory.java:81) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.urlToContext(DnsContextFactory.java:119) ~[demo.exe:na]
at [email protected]/com.sun.jndi.dns.DnsContextFactory.getInitialContext(DnsContextFactory.java:64) ~[demo.exe:na]
at [email protected]/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:505) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.init(InitialContext.java:236) ~[demo.exe:na]
at [email protected]/javax.naming.InitialContext.(InitialContext.java:208) ~[demo.exe:na]
at [email protected]/javax.naming.directory.InitialDirContext.(InitialDirContext.java:130) ~[demo.exe:na]
at io.netty.resolver.dns.DirContextUtils.addNameServers(DirContextUtils.java:49) ~[na:na]
at io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.(DefaultDnsServerAddressStreamProvider.java:70) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.provider(DnsServerAddressStreamProviders.java:150) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder$1.(DnsServerAddressStreamProviders.java:130) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders$DefaultProviderHolder.(DnsServerAddressStreamProviders.java:128) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders.unixDefault(DnsServerAddressStreamProviders.java:117) ~[na:na]
at io.netty.resolver.dns.DnsServerAddressStreamProviders.platformDefault(DnsServerAddressStreamProviders.java:113) ~[na:na]
at io.netty.resolver.dns.DnsNameResolverBuilder.(DnsNameResolverBuilder.java:71) ~[na:na]
at reactor.netty.transport.NameResolverProvider.newNameResolverGroup(NameResolverProvider.java:589) ~[na:na]
at reactor.netty.transport.ClientTransportConfig.lambda$getOrCreateResolver$0(ClientTransportConfig.java:274) ~[demo.exe:1.2.5]
at [email protected]/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1724) ~[demo.exe:na]
at reactor.netty.internal.util.MapUtils.computeIfAbsent(MapUtils.java:63) ~[na:na]
at reactor.netty.transport.ClientTransportConfig.getOrCreateResolver(ClientTransportConfig.java:273) ~[demo.exe:1.2.5]
at reactor.netty.transport.ClientTransport.runOn(ClientTransport.java:422) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:318) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:74) ~[demo.exe:1.2.5]
at reactor.netty.transport.Transport.runOn(Transport.java:248) ~[demo.exe:1.2.5]
at reactor.netty.tcp.TcpClient.runOn(TcpClient.java:313) ~[demo.exe:1.2.5]
at io.asyncer.r2dbc.mysql.client.Client.connect(Client.java:143) ~[demo.exe:1.4.1]
at io.asyncer.r2dbc.mysql.MySqlConnectionFactory.lambda$getMySqlConnection$2(MySqlConnectionFactory.java:141) ~[na:na]
at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:153) ~[demo.exe:3.7.5]
at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53) ~[demo.exe:3.7.5]
at reactor.core.publisher.Mono.subscribe(Mono.java:4560) ~[demo.exe:3.7.5]
at reactor.core.publisher.MonoSubscribeOn$SubscribeOnSubscriber.run(MonoSubscribeOn.java:126) ~[demo.exe:3.7.5]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84) ~[demo.exe:3.7.5]
at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37) ~[demo.exe:3.7.5]
at [email protected]/java.util.concurrent.FutureTask.run(FutureTask.java:328) ~[demo.exe:na]
at [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:309) ~[na:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095) ~[demo.exe:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619) ~[na:na]
at [email protected]/java.lang.Thread.runWith(Thread.java:1460) ~[demo.exe:na]
at [email protected]/java.lang.Thread.run(Thread.java:1447) ~[demo.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:832) ~[demo.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:808) ~[demo.exe:na]