You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If your docker host are reachable by IPv6 and IPv4 (Dual-Stack) then DPS will also be queried for AAAA and A record if configured as primary DNS proxy. But without IPv6 support within container environment DPS will fail with noisy NullPointerException.
Query A record only:
[paul@manjaro ~]$ nslookup
> server 10.5.0.2
Default server: 10.5.0.2
Address: 10.5.0.2#53
> set type=A
> nginx.docker
Server: 10.5.0.2
Address: 10.5.0.2#53
[paul@manjaro ~]$ docker logs dps -f
13:49:55.808 [main ] DEB c.m.d.config.dataprovider.ConfigDAOJson l=38 m=find configPath=/app/conf/config.json
13:49:55.825 [main ] INF c.m.d.s.d.a.DpsDockerEnvironmentSetupService l=32 m=setup status=binding-docker-events, connectedToDocker=true
13:49:55.825 [main ] INF c.m.d.s.d.a.DpsDockerEnvironmentSetupService l=44 m=setupNetwork status=dpsNetwork, active=false
13:49:55.825 [main ] INF c.m.d.s.docker.application.DpsContainerService l=102 m=tRunningContainersToDpsNetwork status=autoConnectDpsNetworkDisabled, dpsNetwork=false, dpsNetworkAutoConnect=false
13:49:55.825 [main ] INF c.m.d.solver.docker.entrypoint.EventListener l=32 m=onStart status=containerAutoConnectToDpsNetworkDisabled
13:49:55.825 [main ] INF com.mageddo.dnsserver.UDPServerPool l=31 m=start Starting UDP server, addresses=/0.0.0.0:53
13:49:55.825 [main ] INF c.mageddo.dnsproxyserver.server.dns.ServerStarter l=30 m=start status=startingDnsServer, protocol=UDP_TCP, port=53
13:49:55.825 [Thread-4 ] INF com.mageddo.dnsserver.TCPServer l=50 m=start0 status=tcpServerStarting, port=53
13:49:55.826 [main ] INF com.mageddo.http.WebServer l=134 m=start status=startingWebServer, port=5380
13:50:00.877 [Thread-1 ] INF c.m.d.dnsconfigurator.DnsConfigurators l=113 m=getInstance0 usingDnsConfigurator=DnsConfiguratorLinux
13:50:00.877 [Thread-1 ] INF c.m.d.dnsconfigurator.linux.DnsConfiguratorLinux l=91 m=lambda$findBestConfFile$0 status=noValidConfFile, file=/host/etc/systemd/resolved.conf
13:50:00.877 [Thread-1 ] INF c.m.d.dnsconfigurator.linux.DnsConfiguratorLinux l=91 m=lambda$findBestConfFile$0 status=noValidConfFile, file=/host/etc/resolv.conf
13:50:00.877 [Thread-1 ] INF c.m.d.dnsconfigurator.linux.DnsConfiguratorLinux l=91 m=lambda$findBestConfFile$0 status=noValidConfFile, file=/etc/systemd/resolved.conf
13:50:00.877 [Thread-1 ] INF c.m.d.dnsconfigurator.linux.DnsConfiguratorLinux l=122 m=init status=using, configFile=ResolvFile(path=/etc/resolv.conf, type=RESOLVCONF)
13:53:55.373 [Thread-17 ] WAR c.m.d.server.dns.RequestHandlerDefault l=101 m=solveAndSummarizeHandlingError status=solverFailed, currentSolverTime=8, totalTime=8, solver=SolverDocker, query=query=AAAA:nginx.docker, eClass=NullPointerException, msg=null
java.lang.NullPointerException: null
at com.mageddo.dnsproxyserver.solver.docker.dataprovider.mapper.NetworkMapper.findGatewayIp(NetworkMapper.java:39)
at com.mageddo.dnsproxyserver.solver.docker.dataprovider.mapper.NetworkMapper.of(NetworkMapper.java:17)
at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base@19.0.2/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575)
at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260)
at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616)
at java.base@19.0.2/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622)
at java.base@19.0.2/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627)
at com.mageddo.dnsproxyserver.solver.docker.dataprovider.DockerDAODefault.findNetworks(DockerDAODefault.java:53)
at com.mageddo.dnsproxyserver.solver.docker.dataprovider.DockerDAODefault.findBestNetwork(DockerDAODefault.java:39)
at com.mageddo.dnsproxyserver.solver.docker.dataprovider.DockerDAODefault.findHostMachineIp(DockerDAODefault.java:35)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.lambda$buildHostMachineIpWhenActive$6(ContainerSolvingService.java:131)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.buildHostMachineIpWhenActive(ContainerSolvingService.java:132)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.lambda$findSecondaryIp$5(ContainerSolvingService.java:114)
at java.base@19.0.2/java.util.Optional.orElseGet(Optional.java:364)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.findSecondaryIp(ContainerSolvingService.java:114)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.lambda$findBestIpMatch$2(ContainerSolvingService.java:66)
at java.base@19.0.2/java.util.Optional.orElseGet(Optional.java:364)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.findBestIpMatch(ContainerSolvingService.java:66)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.lambda$findBestMatch$0(ContainerSolvingService.java:42)
at java.base@19.0.2/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base@19.0.2/java.util.AbstractList$RandomAccessSpliterator.tryAdvance(AbstractList.java:708)
at java.base@19.0.2/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
at java.base@19.0.2/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
at java.base@19.0.2/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
at java.base@19.0.2/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base@19.0.2/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base@19.0.2/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base@19.0.2/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647)
at com.mageddo.dnsproxyserver.solver.docker.application.ContainerSolvingService.findBestMatch(ContainerSolvingService.java:44)
at com.mageddo.dnsproxyserver.solver.SolverDocker.lambda$handle$0(SolverDocker.java:40)
at com.mageddo.dnsproxyserver.solver.HostnameMatcher.match(HostnameMatcher.java:22)
at com.mageddo.dnsproxyserver.solver.SolverDocker.handle(SolverDocker.java:39)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solveAndSummarize(RequestHandlerDefault.java:115)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solveAndSummarizeHandlingError(RequestHandlerDefault.java:99)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve(RequestHandlerDefault.java:82)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solveFixingCacheTTL(RequestHandlerDefault.java:73)
at com.mageddo.dnsproxyserver.solver.SolverCache.lambda$handleRes$0(SolverCache.java:38)
at com.mageddo.commons.caching.LruTTLCache.lambda$computeIfAbsentWithTTL$1(LruTTLCache.java:94)
at java.base@19.0.2/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
at com.mageddo.commons.caching.LruTTLCache.lambda$computeIfAbsentWithTTL$2(LruTTLCache.java:88)
at java.base@19.0.2/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
at com.mageddo.commons.caching.LruTTLCache.computeIfAbsentWithTTL(LruTTLCache.java:86)
at com.mageddo.dnsproxyserver.solver.SolverCache.handleRes(SolverCache.java:36)
at com.mageddo.dnsproxyserver.solver.SolverCache.handle(SolverCache.java:31)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solveCaching(RequestHandlerDefault.java:66)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.handle(RequestHandlerDefault.java:54)
at com.mageddo.dnsserver.UDPServer.handle(UDPServer.java:55)
at com.mageddo.dnsserver.UDPServer.lambda$start0$0(UDPServer.java:43)
at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base@19.0.2/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.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
13:53:55.373 [Thread-17 ] WAR c.m.d.server.dns.RequestHandlerDefault l=56 m=handle status=solverFailed, totalTime=8, eClass=NullPointerException, msg=null
java.lang.NullPointerException: null
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solve(RequestHandlerDefault.java:83)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solveFixingCacheTTL(RequestHandlerDefault.java:73)
at com.mageddo.dnsproxyserver.solver.SolverCache.lambda$handleRes$0(SolverCache.java:38)
at com.mageddo.commons.caching.LruTTLCache.lambda$computeIfAbsentWithTTL$1(LruTTLCache.java:94)
at java.base@19.0.2/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
at com.mageddo.commons.caching.LruTTLCache.lambda$computeIfAbsentWithTTL$2(LruTTLCache.java:88)
at java.base@19.0.2/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1916)
at com.mageddo.commons.caching.LruTTLCache.computeIfAbsentWithTTL(LruTTLCache.java:86)
at com.mageddo.dnsproxyserver.solver.SolverCache.handleRes(SolverCache.java:36)
at com.mageddo.dnsproxyserver.solver.SolverCache.handle(SolverCache.java:31)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.solveCaching(RequestHandlerDefault.java:66)
at com.mageddo.dnsproxyserver.server.dns.RequestHandlerDefault.handle(RequestHandlerDefault.java:54)
at com.mageddo.dnsserver.UDPServer.handle(UDPServer.java:55)
at com.mageddo.dnsserver.UDPServer.lambda$start0$0(UDPServer.java:43)
at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base@19.0.2/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.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
The text was updated successfully, but these errors were encountered:
* logging net name
* leading with no ipam config and testing
* dont use networks without ip
* release notes
* [Gradle Release Plugin] - new version commit: '3.19.5-snapshot'.
Hey @sh3bang , thanks for your report, a fix was submmited, see the summary:
Fixing error when fallback to host machine IP, Network mapper fails when the mapped networks hasn't an IPAM config, it has more chances to happen on IPV6 query solving.
I will release it in the next minutes, I will be glad if you can check if it fixes your usecase.
If your docker host are reachable by IPv6 and IPv4 (Dual-Stack) then DPS will also be queried for AAAA and A record if configured as primary DNS proxy. But without IPv6 support within container environment DPS will fail with noisy NullPointerException.
Query A record only:
Query for A and AAAA
Exception log:
The text was updated successfully, but these errors were encountered: