Closed
Description
Dragonfly fails at tip by hanging in TestPassFD.
Something wrong with syscall.UnixRights or syscall.ParseUnixRights on Dragonfly?
https://storage.googleapis.com/go-build-log/a8956ab4/dragonfly-amd64_600b0a39.log
ok strings 0.977s
ok sync 0.796s
ok sync/atomic 0.030s
panic: test timed out after 3m0s
goroutine 27 [running]:
testing.(*M).startAlarm.func1()
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:1377 +0xdf
created by time.goFunc
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/time/sleep.go:168 +0x44
goroutine 1 [chan receive]:
testing.(*T).Run(0xc00015c000, 0x570c9d, 0xa, 0x57aa00, 0x475201)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:961 +0x378
testing.runTests.func1(0xc0000a4000)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:1202 +0x78
testing.tRunner(0xc0000a4000, 0xc000047dc0)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:909 +0xc9
testing.runTests(0xc00000e140, 0x670a40, 0x13, 0x13, 0x0)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:1200 +0x2a7
testing.(*M).Run(0xc0000a0000, 0x0)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:1117 +0x176
main.main()
_testmain.go:82 +0x135
goroutine 34 [IO wait]:
internal/poll.runtime_pollWait(0x80094ec88, 0x72, 0xffffffffffffffff)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc0001042b8, 0x72, 0x201, 0x200, 0xffffffffffffffff)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0001042a0, 0xc000140200, 0x200, 0x200, 0x0, 0x0, 0x0)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/internal/poll/fd_unix.go:169 +0x1cf
os.(*File).read(...)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/os/file_unix.go:259
os.(*File).Read(0xc000168048, 0xc000140200, 0x200, 0x200, 0xc000140200, 0x0, 0x0)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/os/file.go:116 +0x71
bytes.(*Buffer).ReadFrom(0xc000043b00, 0x59cb00, 0xc000168048, 0x47c92a, 0x5c, 0x8)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/bytes/buffer.go:204 +0xb1
io/ioutil.readAll(0x59cb00, 0xc000168048, 0x200, 0x0, 0x0, 0x0, 0x0, 0x0)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/io/ioutil/ioutil.go:36 +0x100
io/ioutil.ReadAll(...)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/io/ioutil/ioutil.go:45
syscall_test.TestPassFD(0xc00015c000)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/syscall/syscall_unix_test.go:228 +0xb23
testing.tRunner(0xc00015c000, 0x57aa00)
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:909 +0xc9
created by testing.(*T).Run
/tmp/workdir-host-dragonfly-amd64-tdfbsd/go/src/testing/testing.go:960 +0x351
FAIL syscall 180.019s
ok testing 0.134s
ok testing/quick 0.084s
FAIL
2019/10/17 17:06:58 Failed: exit status 1
/cc @tdfbsd @ianlancetaylor @tklauser
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
bcmills commentedon Oct 17, 2019
May be unrelated, but @mdempsky has https://golang.org/cl/201617 out to fix a bug that his new instrumentation detected in
syscall.UnixRights
.mdempsky commentedon Oct 17, 2019
Yeah, I think very likely to be unrelated. While syscall.UnixRights was violating Go pointer safety rules, I don't think it was doing so in a way that would have any practical consequences today. It was only computing a "just past the end" pointer right at the end of the loop, and then the pointer immediately goes dead, so the GC will never even see it.
Either way, the CL is submitted now, so we'll see very shortly whether it fixes this.
gopherbot commentedon Oct 18, 2019
Change https://golang.org/cl/201977 mentions this issue:
syscall: don't use 32-bit aligned access for cmsgAlignOf on dragonfly
bradfitz commentedon Oct 18, 2019
I'm a little concerned that @tklauser's https://golang.org/cl/201977 fixes our current builder (which is Dragonfly master), but will then break for users using the latest release of Dragonfly, before the 2019-September ABI changes (http://lists.dragonflybsd.org/pipermail/users/2019-September/358280.html). That is, is this one of those ABI changes? (#34368 is also currently broken by this ABI change)
We really need two builders, one per ABI.
/cc @tdfbsd
bradfitz commentedon Oct 18, 2019
I can confirm that the existing TestPassFD test passes in the syscall package on DragonFly v5.6.2-RELEASE.
Edit: and I also confirm that v5.6.2-RELEASE breaks if I patch in https://golang.org/cl/201977
tklauser commentedon Oct 18, 2019
Yes, seems like this was an ABI change too: DragonFlyBSD/DragonFlyBSD@b3aa44a
What is the compatibility policy for Go on Dragonfly? Do we support master, last release(s)?
tklauser commentedon Oct 18, 2019
Maybe we could use something similar to the freebsd port in order to support both ABI versions. I‘ll try to come up with something in https://golang.org/cl/201977
bradfitz commentedon Oct 18, 2019
I keep asking but I haven't heard anybody propose something yet, so I will:
Go's DragonFly support policy is that we support the latest stable release primarily, but also try to keep DragonFly master passing, in prep for it to become the latest stable release.
But that does mean we need one more builder at the moment.
tuxillo commentedon Oct 18, 2019
As far as I know @tdfbsd is currently providing a builder for tip (master branch) and we're in the process of migrating it from his box to DragonFlyBSD's.
Not sure if you're talking about that builder or any internal builders you may have.
timdarbydotnet commentedon Oct 18, 2019
@tuxillo It's just my builder
gopherbot commentedon Oct 20, 2019
Change https://golang.org/cl/202179 mentions this issue:
unix: don't use 32-bit aligned access for cmsgAlignOf on dragonfly after ABI change
unix: don't use 32-bit aligned access for cmsgAlignOf on dragonfly af…
gopherbot commentedon Oct 21, 2019
Change https://golang.org/cl/202478 mentions this issue:
dashboard: update Dragonfly tip policy for ABI change, add release builder
dashboard: update Dragonfly tip policy for ABI change, add release bu…
Sheshagiri commentedon Oct 23, 2019
bcmills commentedon Oct 23, 2019
Add support policy as stated by @bradfitz in golang/go#34958 (comment)
dashboard: update Dragonfly tip policy for ABI change, add release bu…