Skip to content
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

java.lang.IllegalArgumentException: \etc\resolv.conf didn't provide any name servers #2204

Closed
shenzhenMirren opened this issue Nov 9, 2017 · 12 comments
Milestone

Comments

@shenzhenMirren
Copy link

shenzhenMirren commented Nov 9, 2017

when I use version 3.5 vertx,it always appears
java.lang.IllegalArgumentException: \etc\resolv.conf didn't provide any name servers,my system is Windows ,
so I want to ask reason,why?

`
2017-11-09 17:45:33 --> failed to parse /etc/resolv.conf and/or /etc/resolver
----------------------> at io.netty.util.internal.logging.Slf4JLogger.debug(Slf4JLogger.java:86)

java.lang.IllegalArgumentException: \etc\resolv.conf didn't provide any name servers
at io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.(UnixResolverDnsServerAddressStreamProvider.java:98)
at io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.(UnixResolverDnsServerAddressStreamProvider.java:124)
at io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.parseSilently(UnixResolverDnsServerAddressStreamProvider.java:66)
at io.netty.resolver.dns.DnsServerAddressStreamProviders.(DnsServerAddressStreamProviders.java:28)
at io.netty.resolver.dns.DnsNameResolverBuilder.(DnsNameResolverBuilder.java:54)
at io.vertx.core.impl.resolver.DnsResolverProvider$1$1.newNameResolver(DnsResolverProvider.java:137)
at io.netty.resolver.dns.DnsAddressResolverGroup.newResolver(DnsAddressResolverGroup.java:86)
at io.netty.resolver.dns.DnsAddressResolverGroup.newResolver(DnsAddressResolverGroup.java:73)
at io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:69)
at io.vertx.core.impl.resolver.DnsResolverProvider$1.newResolver(DnsResolverProvider.java:184)
at io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:69)
at io.vertx.core.impl.AddressResolver.resolveHostname(AddressResolver.java:83)
at io.vertx.core.impl.VertxImpl.resolveAddress(VertxImpl.java:766)
at io.vertx.core.net.impl.AsyncResolveConnectHelper.doBind(AsyncResolveConnectHelper.java:87)
at io.vertx.core.http.impl.HttpServerImpl.listen(HttpServerImpl.java:344)
at io.vertx.core.http.impl.HttpServerImpl.listen(HttpServerImpl.java:226)
at verticle.MainVerticle.start(MainVerticle.java:15)
at io.vertx.core.AbstractVerticle.start(AbstractVerticle.java:111)
at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$10(DeploymentManager.java:481)
at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:344)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(Unknown Source)
`

@shenzhenMirren
Copy link
Author

system is win 10 1704

@vietj
Copy link
Member

vietj commented Nov 9, 2017

thanks for reporting, can you trace the code and understand why UnixResolverDnsServerAddressStreamProvider is used ?

@vietj vietj added this to the 3.5.1 milestone Nov 9, 2017
@shenzhenMirren
Copy link
Author

my system is Windows,but there is a error appear that is \etc\resolv.conf didn't provide any name servers,
I don't think there is file like \etc\resolv.conf

2017-11-10 10:37:35 --> failed to parse /etc/resolv.conf and/or /etc/resolver ----------------------> at io.netty.util.internal.logging.Slf4JLogger.debug(Slf4JLogger.java:86) java.lang.IllegalArgumentException: \etc\resolv.conf didn't provide any name servers at io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.<init>(UnixResolverDnsServerAddressStreamProvider.java:98) at io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.<init>(UnixResolverDnsServerAddressStreamProvider.java:124)

@vietj
Copy link
Member

vietj commented Nov 10, 2017

I'm rather wondering why UnixResolverDnsServerAddressStreamProvider is used at all given that windows is not an unix system

@shenzhenMirren
Copy link
Author

I have getted used to Windows development

@vietj
Copy link
Member

vietj commented Nov 10, 2017

I'm not saying that :-) , I'm just asking you, if by chance you could debug the source code on your machine to understand why UnixResolverDnsServerAddressStreamProvider is used in your particular case as it does not seem to happen on other windows.

@shenzhenMirren
Copy link
Author

ok thank you

@dreamkidd
Copy link

@shenzhenMirren have u fixed this?
I have got the same problem on win10...
in io.vertx.core.impl.resolver.DnsResolverProvider.java:184 Line use the DnsNameResolverBuilder() but DnsNameResolverBuilder has a method whitch is called platformDefault()

this function is not supposed on windows

but i also wonder know to fix this... thanks a lot
@vietj

normanmaurer added a commit to netty/netty that referenced this issue Nov 13, 2017
…indows.

Motivation:

We should not try to use UnixResolverDnsServerAddressStreamProvider when on Windows as it will log some error that will produce noise and may confuse users.

Modifications:

Just use DefaultDnsServerAddressStreamProvider if windows is used.

Result:

Less noise in the logs. This was reported in vert.x: eclipse-vertx/vert.x#2204
@normanmaurer
Copy link
Contributor

@vietj @dreamkidd @shenzhenMirren this is a bug in netty: netty/netty#7403

@dreamkidd
Copy link

@shenzhenMirren @normanmaurer @vietj
yes,i have figure it out , This does not affect your vertx program.
if you won't to see this log just Increase the log level.
This problem will only appear on the windows.
hope netty could repair this probablem as soon as possible

@vietj
Copy link
Member

vietj commented Nov 13, 2017

thanks @normanmaurer for the heads-up

normanmaurer added a commit to netty/netty that referenced this issue Nov 13, 2017
…indows.

Motivation:

We should not try to use UnixResolverDnsServerAddressStreamProvider when on Windows as it will log some error that will produce noise and may confuse users.

Modifications:

Just use DefaultDnsServerAddressStreamProvider if windows is used.

Result:

Less noise in the logs. This was reported in vert.x: eclipse-vertx/vert.x#2204
@shenzhenMirren
Copy link
Author

shenzhenMirren commented Nov 14, 2017

@dreamkidd I'm using version 3.4.2 now, but to solve this problem, you can use
System.setProperty ("vertx.disableDnsResolver", "true");

If fat-jar is started, Java -jar xxx.jar -Dvertx.disableDnsResolver=true can be used

@vietj vietj closed this as completed in 8be2e9e Jan 8, 2018
vietj added a commit that referenced this issue Jan 10, 2018
kiril-me pushed a commit to kiril-me/netty that referenced this issue Feb 28, 2018
…indows.

Motivation:

We should not try to use UnixResolverDnsServerAddressStreamProvider when on Windows as it will log some error that will produce noise and may confuse users.

Modifications:

Just use DefaultDnsServerAddressStreamProvider if windows is used.

Result:

Less noise in the logs. This was reported in vert.x: eclipse-vertx/vert.x#2204
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants