Skip to content

load "sun.net.dns.ResolverConfigurationImpl#os_searchlist" fail #11098

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
chiangzeon opened this issue Apr 29, 2025 · 2 comments
Closed

load "sun.net.dns.ResolverConfigurationImpl#os_searchlist" fail #11098

chiangzeon opened this issue Apr 29, 2025 · 2 comments
Assignees
Labels

Comments

@chiangzeon
Copy link

Describe the issue
A clear and concise description of the issue. We recommend using the latest snapshot builds to replicate the issue as bugs are constantly being fixed in the master branch

Steps to reproduce the issue
Please include both build steps as well as run steps

  1. git clone https://github.com/chiangzeon/graalvm_webflux_r2dbc_demo.git
  2. import to the jetbrain idea
  3. run native-maven-plugin native:compile
  4. run the exe file
    Describe GraalVM and your environment:
  • GraalVM version (latest snapshot builds can be found here), or commit id if built from source: [e.g. EE 19.3, CE 20.0, CE 20.1.0-dev-20200304_0848]
  • JDK major version:Oracle GraalVM 24.0.1+9.1 (build 24.0.1+9-jvmci-b01)
  • OS: Microsoft Windows 10 Professional
  • Architecture: x64-based PC

More details
I compiled the application into an exe file using the native-maven-plugin, but when running it, a DNS server not found exception was thrown.Here is the pom.xml and the error message. The database is MySQL. You can reproduce the issue by accessing any table through R2DBC.

     2025-04-29T12:41:10.392+08:00 WARN 10368 --- [demo] [ single-1] reactor.core.Exceptions : throwIfFatal detected a jvm fatal exception, which is thrown and logged below:
java.lang.ExceptionInInitializerError: null
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]
Caused by: java.lang.NullPointerException: null
at [email protected]/sun.net.dns.ResolverConfigurationImpl.stringToList(ResolverConfigurationImpl.java:71) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.loadConfig(ResolverConfigurationImpl.java:138) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.nameservers(ResolverConfigurationImpl.java:161) ~[na: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]
... 32 common frames omitted

2025-04-29T12:41:10.393+08:00 WARN 10368 --- [demo] [ single-1] reactor.core.Exceptions : throwIfFatal detected a jvm fatal exception, which is thrown and logged below:

java.lang.ExceptionInInitializerError: null
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]
Caused by: java.lang.NullPointerException: null
at [email protected]/sun.net.dns.ResolverConfigurationImpl.stringToList(ResolverConfigurationImpl.java:71) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.loadConfig(ResolverConfigurationImpl.java:138) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.nameservers(ResolverConfigurationImpl.java:161) ~[na: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]
... 32 common frames omitted

2025-04-29T12:41:10.395+08:00 ERROR 10368 --- [demo] [ single-1] reactor.core.scheduler.Schedulers : Scheduler worker in group main failed with an uncaught exception

java.lang.ExceptionInInitializerError: null
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]
Caused by: java.lang.NullPointerException: null
at [email protected]/sun.net.dns.ResolverConfigurationImpl.stringToList(ResolverConfigurationImpl.java:71) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.loadConfig(ResolverConfigurationImpl.java:138) ~[na:na]
at [email protected]/sun.net.dns.ResolverConfigurationImpl.nameservers(ResolverConfigurationImpl.java:161) ~[na: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]
... 32 common frames omitted
@chiangzeon chiangzeon added the bug label Apr 29, 2025
@selhagani selhagani self-assigned this Apr 29, 2025
@selhagani
Copy link
Member

Hi @chiangzeon,

Thank you for reaching out to us about this.

Can you please try initializing ResolverConfigurationImpl at runtime? you can do so using the following option:
--initialize-at-run-time=sun.net.dns.ResolverConfigurationImpl

@chiangzeon
Copy link
Author

chiangzeon commented Apr 29, 2025

你好@chiangzeon

感谢您就此事与我们联系。

您能尝试ResolverConfigurationImpl在运行时初始化吗?您可以使用以下选项进行操作: --initialize-at-run-time=sun.net.dns.ResolverConfigurationImpl

Thank you for your reply. The problem has been solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants