runtime: netpoll failed on android/386 #29423
Comments
Thank you for this report @eliasnaur! Kindly paging @ianlancetaylor. |
That is the only instance I can find in the builder logs. It should be impossible. |
Another, again on android/386: https://build.golang.org/log/11cd9309ba16cce696dc4763a7be1a433a590a7d |
Another, this time on android/arm64: https://build.golang.org/log/ec6550708e7d674f80b19c3a987d0be24eb7dbe4 |
FWIW, I can reproduce this crash locally by running the cmd/vendor/golang.org/x/sys/unix tests in a loop. I don't know how to debug it though. |
It could be a coincidence, but I once got the crash just as I was ctrl-C'ing the test loop that had run for minutes. If so, there might be a racy interaction between epoll_pwait and signals or during process exit. |
Edit: deleted confused analysis. runtime.netpollclose only deregisters a filedescriptor, it doesn't close the poll fd itself. |
Change https://golang.org/cl/163638 mentions this issue: |
TestDup used a file descriptor without ensuring it was free, leading to rare crashes in the runtime netpoller when the victim fd was the polling descriptor. Updates golang/go#29423 Change-Id: Idc8b6b47f7e966e045f57f2028e7b6b79e0fb3f3 Reviewed-on: https://go-review.googlesource.com/c/163638 Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com>
Change https://golang.org/cl/163623 mentions this issue: |
From the android/386 builder:
https://build.golang.org/log/e11446723639eb0b41a7268c1f19c0de5f8da7cc
The text was updated successfully, but these errors were encountered: