Description
Hello,
It seems that the production version used in Rethink DNS (ee0a5ac) has an issue with sockets not being closed. After a day of use, the CPU usage reaches 50% even though no traffic is being generated. When we extract the processes, it appears that this usage originates from the GO code in Firestack.
If we release the library, a large number (+100) of socket closure logs are generated:
onSocketClosed: SocketSummary{Proto:udp,ID:13d815e967215ae5,PID:Base,UID:-1,Target:192.0.2.255,Rx:0,Tx:983224,Duration:5979,Rtt:0,Msg:read udp 192.0.2.1:53449->192.0.2.255:32761: use of closed network connection,Dup:true,}
The library is configured as follows in our project:
addDnsTransport(it, dnsServer)
Intra.setSystemDNS(it, systemDns.joinToString(","))
it.setRoute(InternetProtocol.IPv46.value())
it.setTunMode(
Settings.DNSModePort,
Settings.BlockModeFilter,
Settings.PtModeAuto
)
it.resolver.translate(false)
Are we supposed to monitor and close some socket ourself? is it a bug in the library?
Thanks in advance for your support.