It appears there is a case where an open DatagramChannel is not closed.
This is from 3.4.2 but the source looks the same in master.
D/StrictMode: StrictMode policy violation: android.os.strictmode.LeakedClosableViolation: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
at android.os.StrictMode$AndroidCloseGuardReporter.report(StrictMode.java:1877)
at dalvik.system.CloseGuard.warnIfOpen(CloseGuard.java:286)
at sun.nio.ch.DatagramChannelImpl.finalize(DatagramChannelImpl.java:1083)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:289)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:276)
at java.lang.Daemons$Daemon.run(Daemons.java:137)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.lang.Throwable: Explicit termination method 'close' not called
at dalvik.system.CloseGuard.open(CloseGuard.java:237)
at sun.nio.ch.DatagramChannelImpl.<init>(DatagramChannelImpl.java:132)
at sun.nio.ch.SelectorProviderImpl.openDatagramChannel(SelectorProviderImpl.java:42)
at java.nio.channels.DatagramChannel.open(DatagramChannel.java:149)
at org.xbill.DNS.NioUdpClient.sendrecv(NioUdpClient.java:158)
at org.xbill.DNS.SimpleResolver.sendAsync(SimpleResolver.java:371)
at org.xbill.DNS.SimpleResolver.sendAsync(SimpleResolver.java:338)
at org.xbill.DNS.ExtendedResolver$Resolution.send(ExtendedResolver.java:81)
at org.xbill.DNS.ExtendedResolver$Resolution.handle(ExtendedResolver.java:123)
at org.xbill.DNS.ExtendedResolver$Resolution.lambda$handle$3$org-xbill-DNS-ExtendedResolver$Resolution(ExtendedResolver.java:124)
at org.xbill.DNS.ExtendedResolver$Resolution$$ExternalSyntheticLambda0.apply(Unknown Source:8)
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:834)
at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:846)
at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2183)
at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:117)
at org.xbill.DNS.ExtendedResolver$Resolution.handle(ExtendedResolver.java:124)
at org.xbill.DNS.ExtendedResolver$Resolution.lambda$startAsync$2$org-xbill-DNS-ExtendedResolver$Resolution(ExtendedResolver.java:87)
at org.xbill.DNS.ExtendedResolver$Resolution$$ExternalSyntheticLambda1.apply(Unknown Source:8)
at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:834)
at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:846)
at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2183)
at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:117)
at org.xbill.DNS.ExtendedResolver$Resolution.startAsync(ExtendedResolver.java:87)
at org.xbill.DNS.ExtendedResolver$Resolution.access$800(ExtendedResolver.java:34)
at org.xbill.DNS.ExtendedResolver.sendAsync(ExtendedResolver.java:310)
at org.xbill.DNS.ExtendedResolver.sendAsync(ExtendedResolver.java:296)
at org.xbill.DNS.Resolver.send(Resolver.java:152)
at org.xbill.DNS.Lookup.lookup(Lookup.java:573)
at org.xbill.DNS.Lookup.resolve(Lookup.java:653)
at org.xbill.DNS.Lookup.run(Lookup.java:686)
It appears there is a case where an open DatagramChannel is not closed.
This is from 3.4.2 but the source looks the same in master.