runtime: epollwait on fd 4 failed with 38 w/ go1.10.3 #26856
Comments
What's watchping? Can you show us your snippet watchping.go? [end of handshake protocol] Please take a look at https://github.com/golang/go/wiki/MinimumRequirements. You are using unsupported, a bit older Linux kernel: Linux YF-DGE2 2.6.18-164.el5. We can guess that the difference btw Go 1.10 and Go 1.9 on filesystem manipulation using runtime-integrated poller might be the root cause, unfortunately. Can you try your snippet on Linux kernel 2.6.23 or above? |
Errno value 38 is According to https://golang.org/wiki/MinimumRequirements we require Linux kernel version 2.6.23 or later. If 1.9 has been working for you, you've been lucky. We have no plans to support kernel versions before 2.6.23, so I'm going to close this issue. That said, you could patch runtime/sys_linux_amd64.s to go back to calling |
Compiled:Linux localhost.localdomain 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
RUN: Linux YF-DGE2 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o /tmp/watchping watchping.go
[root@YF-DGE2 update]# ./watchping
watch agent
watchping: comments to xxxx
The occasional mistake
[root@YF-DGE2 update]# ./watchping
runtime: epollwait on fd 4 failed with 38
fatal error: runtime: netpoll failed
runtime stack:
runtime.throw(0xc63ded, 0x17)
/usr/local/go_1.10/src/runtime/panic.go:616 +0x81
runtime.netpoll(0x1548caff3150ff00, 0x2b7400000000)
/usr/local/go_1.10/src/runtime/netpoll_epoll.go:75 +0x216
runtime.sysmon()
/usr/local/go_1.10/src/runtime/proc.go:4265 +0x424
runtime.mstart1(0x0)
/usr/local/go_1.10/src/runtime/proc.go:1227 +0xe7
runtime.mstart()
/usr/local/go_1.10/src/runtime/proc.go:1193 +0x76
goroutine 1 [runnable, locked to thread]:
vendor/golang_org/x/net/http2/hpack.newInternalNode(...)
/usr/local/go_1.10/src/vendor/golang_org/x/net/http2/hpack/huffman.go:117
vendor/golang_org/x/net/http2/hpack.addDecoderNode(0xfffffe200000002, 0x1c)
/usr/local/go_1.10/src/vendor/golang_org/x/net/http2/hpack/huffman.go:137 +0xdf
vendor/golang_org/x/net/http2/hpack.init.0()
/usr/local/go_1.10/src/vendor/golang_org/x/net/http2/hpack/huffman.go:127 +0x75
go1.9 It's OK.
The text was updated successfully, but these errors were encountered: