Closed
Description
by arnaud.lb:
It seems that ResolveIPAddr() can write to random unrelated file descriptors in some unknown conditions, at high concurrency. The code at [1] does a lot a DNS requests in parallel. At the same time, it also does short connections to a local unix socket (Dial, a few Writes, and Close). After a few seconds, the unix socket's listener is seeing random garbage, presumably DNS requests (I can sometimes see part of domain names in the garbage). It looks very much like ResolveIPAddr() is writing to random file descriptor; or that it is corrupting some buffer. To reproduce, run ./server and ./client. The server should start receiving binary garbage after a few seconds (and logs that to stderr). go version go1.1.2 linux/amd64 [1] https://gist.github.com/arnaud-lb/3af01cdfb6b1ee38c122