[GH-ISSUE #474] NullPointerException when queried for AAAA/IPv6 record #167

Closed
opened 2026-02-26 04:34:16 +03:00 by kerem · 2 comments
Owner

Originally created by @sh3bang on GitHub (Jun 16, 2024).
Original GitHub issue: https://github.com/mageddo/dns-proxy-server/issues/474

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

Non-authoritative answer:
Name: nginx.docker
Address: 10.5.0.3

Query for A and AAAA

[paul@manjaro ~]$ nslookup
> server 10.5.0.2
Default server: 10.5.0.2
Address: 10.5.0.2#53
> nginx.docker
Server: 10.5.0.2
Address: 10.5.0.2#53

Non-authoritative answer:
Name: nginx.docker
Address: 10.5.0.3
** server can't find nginx.docker: NXDOMAIN

Exception log:

[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)

Originally created by @sh3bang on GitHub (Jun 16, 2024). Original GitHub issue: https://github.com/mageddo/dns-proxy-server/issues/474 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 > > Non-authoritative answer: > Name: nginx.docker > Address: 10.5.0.3 Query for A and AAAA > **[paul@manjaro ~]$ nslookup** > \> server 10.5.0.2 > Default server: 10.5.0.2 > Address: 10.5.0.2#53 > \> nginx.docker > Server: 10.5.0.2 > Address: 10.5.0.2#53 > > Non-authoritative answer: > Name: nginx.docker > Address: 10.5.0.3 > ** server can't find nginx.docker: NXDOMAIN Exception log: > **[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)
kerem 2026-02-26 04:34:16 +03:00
Author
Owner

@mageddo commented on GitHub (Jun 17, 2024):

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.

<!-- gh-comment-id:2173454320 --> @mageddo commented on GitHub (Jun 17, 2024): 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.
Author
Owner

@sh3bang commented on GitHub (Jun 19, 2024):

@mageddo with 3.19.5-snapshot exception is gone 👍

<!-- gh-comment-id:2178607382 --> @sh3bang commented on GitHub (Jun 19, 2024): @mageddo with 3.19.5-snapshot exception is gone :+1:
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/dns-proxy-server-mageddo#167
No description provided.