golang runtime: fatal error: SIGSEGV during C.getaddrinfo
目录
runtime: fatal error: SIGSEGV during C.getaddrinfo 解决方法
现象
|
|
/etc/resolv.conf
包含参数 options edns0
原因
glibc 的 bug 导致 go 中 net 模块静态编译后的可执行文件 getaddrinfo 的时候 pinic,无法启动服务
解决办法
方法1. build 代码的时候,使用 go 自己的 net 实现 -tags netgo
: go build -tags netgo main.go
方法2. 已经 build 的程序使用环境变量 GODEBUG=netdns=go
运行程序,临时使用 go实现的 net: GODEBUG=netdns=go main