-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
os: OpenBSD: TestFifoEOF hangs #25877
Comments
I am currently writing a go program which makes heavy use of named pipes and works fine on Linux as is. Unfortunately, it hangs on OpenBSD 6.3 (amd64) with go 1.10 and I believe that this is due to this bug. A minimal example to reproduce the hang I am experiencing is: package main
import (
"fmt"
"os"
)
func main() {
go func() {
fmt.Println("writer: os.OpenFile")
w, err := os.OpenFile("myfifo", os.O_WRONLY, 0)
if err != nil {
panic(err)
}
fmt.Println("writer: os.OpenFile done")
w.Close()
}()
fmt.Println("reader: os.OpenFile")
r, err := os.OpenFile("myfifo", os.O_RDONLY, 0)
if err != nil {
panic(err)
}
fmt.Println("reader: os.OpenFile done")
r.Close()
} Run as:
So both threads hang while attempting to open the named pipe.
I don't know much about go internals but might this be a userspace scheduling problem? Complete ktrace output: https://github.com/golang/go/files/2435881/ktrace.txt |
I can no longer reproduce this issue on OpenBSD 6.4 with go1.11. The |
@ianlancetaylor Ping? Has been a good couple of months. |
We still claim to support OpenBSD 6.2 (https://golang.org/wiki/OpenBSD). Until we require OpenBSD 6.4, it seems to me that we should keep the test disabled. (I have no opinion at all as to which versions of OpenBSD we should support.) |
OpenBSD 6.2 has been EOL for quite some time now. Can this test be re-enabled on OpenBSD now? |
OpenBSD upstream only supports the last two major releases, which at the moment is 6.7 and 6.6. If TestFifoEOF is passing on 6.4 and newer, I think it makes sense to just re-enable it and close this issue. |
If we all agree that this is a good idea, could someone remove the corresponding lines from |
Change https://golang.org/cl/329732 mentions this issue: |
On amd64 OpenBSD 6.2, the new os test
TestFifoEOF
simply hangs until the overall test times out. I don't know why. It seems to be true whether or not we poll on fifos, so it seems like a basic fifo problem.I'm going to skip the test on OpenBSD.
The text was updated successfully, but these errors were encountered: