Comment by SomaticPirate
3 years ago
Go’s choice to default to its own TCP/IP implementation has bitten me personally to the level of requiring a machine restart.
The Go IPv6 DNS resolution on MacOS can cause all DNS requests on the system to begin to fail until a restart.
Not to understate the impact of the bug, but this is not the default for Go. It is used if CGo is disabled, as the issue you linked to describes.
That is the default for Go if cross-compiled, however, and most software compiled on a CI server is cross-compiled to Darwin.
Fortunately Go 1.20 fixes this, using the system resolved even without CGo on Darwin platforms [1].
[1]: https://go-review.googlesource.com/c/go/+/446178
The OS network stack is crashing and this is Go's fault? Is Go holding the network stack wrong?