Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
runtime: epollwait on fd 4 failed with 38 w/ go1.10.3 #26856
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
CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o /tmp/watchping watchping.go
[root@YF-DGE2 update]# ./watchping
The occasional mistake
goroutine 1 [runnable, locked to thread]:
go1.9 It's OK.
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