Closed bradfitz closed 3 years ago
Only OpenBSD 6.5 and 6.6 are currently supported releases - I'd suggest running builders for both of these versions and retiring the older ones.
OpenBSD 6.7 has just been released - 6.6 and 6.7 are now the only currently supported releases. We really need to new builders up and retire the 6.2 and 6.4 builders...
@4a6f656c Thanks for the reminder. I will follow up on this soon.
FWIW OpenBSD 6.8 has recently been released - 6.7 and 6.8 are now the only currently supported releases.
In https://github.com/golang/go/issues/42237#issuecomment-723170549, @4a6f656c kindly offered to help by providing a script that produces a OpenBSD image, but someone with permissions on @golang/release team is needed to review the CLs and push/deploy the builder.
@cagedmantis You're currently assigned on this issue from before, do you still want to work on this and have the bandwidth to take it up? If so, I'll let you coordinate with Joel on the timing you prefer (perhaps the coming weeks, or maybe after Go 1.16 final is out), otherwise please feel free to un-assign so someone else can pick this up when they have an opportunity. Thanks.
@dmitshur I've removed myself as the assignee. Please feel free to work on this issue if you have the time. I will attempt to work on this issue in the future if time permits.
@4a6f656c If things go well, I should have the bandwidth to review and deploy. If we run into problems that require more debugging, I might have to put this on hold until after Go 1.16 is out. Please feel free to send a CL to x/build, and set KnownIssue
field to 35712 when adding the builder configuration. Thank you.
Change https://golang.org/cl/268297 mentions this issue: env/openbsd-amd64: create OpenBSD 6.8 builder images
@dmitshur - the script changes have landed and the images built for 386/amd64 work correctly locally. Please let me know if you hit any issues getting these running on GCE.
Change https://golang.org/cl/269577 mentions this issue: dashboard: add OpenBSD 6.8 builders
Here are some failures I ran into while testing a new 64-bit OpenBSD 6.8 builder with cmd/debugnewvm
on CL 269577:
$ debugnewvm -run-build=openbsd-amd64-68 -rev=b34b0aaf69349f060d3b03a06f520848964cb7eb
From one run:
##### ../test
# go run run.go -- fixedbugs/issue6703f.go
compilation succeeded unexpectedly
/tmp/workdir/go/test/fixedbugs/issue6703f.go:18: initialization loop:
/tmp/workdir/go/test/fixedbugs/issue6703f.go:18: x refers to
/tmp/workdir/go/test/fixedbugs/issue6703f.go:13: T.m refers to
/tmp/workdir/go/test/fixedbugs/issue6703f.go:18: x
FAIL fixedbugs/issue6703f.go 0.105s
2020/11/12 10:12:11 Failed: exit status 1
Here's another run:
##### ../test
# go run run.go -- fixedbugs/issue17588.go
compilation succeeded unexpectedly
/tmp/workdir/go/test/fixedbugs/issue17588.go:14: T is not a type
FAIL fixedbugs/issue17588.go 0.166s
2020/11/12 10:33:21 Failed: exit status 1
At first glance, given the failures are sporadic, there's a chance this could somehow be related to #42542 (CC @bcmills).
I'll do some more testing, I just wanted to share the immediate results earlier. Specifically, I'll also try with Go 1.15 commits in addition to tip, in case there's a problem there.
Update:
So far, Go 1.15.4 (commit 0e953add9656c32a788e06438cd7b533e968b7f8) has passed once, and Go 1.14.11 (commit e82710b825958f30b924fc6dba1fd0a63b517199) has also passed once.
A recent tip commit has also passed on another run, so perhaps there's some intermittent problem.
I'll add this builder with a KnownIssue and without TryBots first, then we can decide how to proceed after we have more information from testing this builder on a wider set of commits.
I've remembered all OpenBSD use noTestDirAndNoReboot
dist test policy, so the existing builders never run the tests that have failed via debugnewvm
above.
Now that a fix for #42542 is available via syspatch (see https://github.com/golang/go/issues/42542#issuecomment-742594947), I've re-run the scripts in x/build/env/openbsd-amd64
and env/openbsd-386
.
The amd64 one was created without an error:
[...]
syncing disks... done
Archiving disk.raw... (this may take a while)
Done. GCE image is openbsd-amd64-gce.tar.gz.
But the 386 one failed at the end with:
[...]
syncing disks... done
panic: kernel diagnostic assertion "__mp_lock_held(&sched_lock, curcpu()) == 0" failed: file "/usr/src/sys/arch/i386/i386/ipifuncs.c", line 104
Stopped at db_enter+0x4: popl %ebp
TID PID UID PRFLAGS PFLAGS CPU COMMAND
322109 26681 0 0x2 0 0K halt
db_enter() at db_enter+0x4
panic(d0bd0f54) at panic+0xd3
__assert(d0c36860,d0bfd1b1,68,d0c65a4e) at __assert+0x19
i386_ipi_halt(f1f31ff8) at i386_ipi_halt+0x72
i386_ipi_handler() at i386_ipi_handler+0x3f
Xipi_untramp() at Xipi_untramp+0xc2
__mp_acquire_count(d0e8c934,1) at __mp_acquire_count+0x7c
mi_switch() at mi_switch+0x2ab
sched_idle(f1f31ff8) at sched_idle+0x168
https://www.openbsd.org/ddb.html describes the minimum info required in bug
reports. Insufficient info makes it difficult to find and fix bugs.
ddb{1}>
I'm not sure why that is. I'll try it again to find out whether it's intermittent or not.
It succeeded on the second try:
[...]
syncing disks... done
Archiving disk.raw... (this may take a while)
Done. GCE image is openbsd-i386-gce.tar.gz.
Change https://golang.org/cl/277115 mentions this issue: dashboard: update OpenBSD 6.8 images with 009_exit syspatch
Tested CL 277115 with debugnewvm, got "ALL TESTS PASSED" on both amd64 and 386 runs.
I also got this failure once:
$ debugnewvm -run-build=openbsd-386-68 -rev=6a64f6dc31b3038187ce9246bdf438be9cc94bae
[...]
go test proxy running at GOPROXY=http://127.0.0.1:47697/mod
--- FAIL: TestScript (0.06s)
--- FAIL: TestScript/mod_convert_vendor_conf (0.18s)
script_test.go:213:
# We should not create a go.mod file unless the user ran 'go mod init' explicitly.
# However, we should suggest 'go mod init' if we can find an alternate config file. (0.135s)
> cd $WORK/test/x
$WORK/test/x
> ! go list .
[stderr]
go: cannot find main module, but found vendor.conf in $WORK/test
to create a module there, run:
cd .. && go mod init
FAIL: testdata/script/mod_convert_vendor_conf.txt:6: unexpected command success
FAIL
FAIL cmd/go 265.828s
Going to proceed, since we still have a non-zero KnownIssue, and we'll find out more from the future commits on the build dashboard.
This was the log when building the openbsd-amd64 image:
This part stood out:
[...]
pgrep: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
pkill: kvm_getprocs() failed
Get/Verify syspatch68-001_bgpd.tgz
Installing patch 001_bgpd
Get/Verify syspatch68-002_icmp6.tgz
Installing patch 002_icmp6
Get/Verify syspatch68-003_tmux.tgz
Installing patch 003_tmux
Get/Verify syspatch68-004_wg.tgz
Installing patch 004_wg
Get/Verify syspatch68-005_unwind.tgz
Installing patch 005_unwind
Get/Verify syspatch68-006_rpki.tgz
Installing patch 006_rpki
Get/Verify syspatch68-008_asn1.tgz
Installing patch 008_asn1
Get/Verify syspatch68-009_exit.tgz
Installing patch 009_exit
Relinking to create unique kernel...reorder_kernel: failed -- see /usr/share/relink/kernel/RAMDISK_CD/relink.log
failed!
!!! "/usr/libexec/reorder_kernel" must be run manually to install the new kernel
[...]
That reads to me like maybe the patches didn't apply successfully, but I'm not familiar with the OpenBSD install process to be sure.
A recent failure on openbsd-386-68 builder with the new image suggests the patch likely did not apply correctly, or did not have an effect:
--- FAIL: TestScript (0.02s)
[...]
FAIL: testdata/script/build_no_go.txt:13: unexpected command success
FAIL
FAIL cmd/go 149.625s
https://build.golang.org/log/cfcd74b1b16c3d7874f7fcbee3f4d5dcffd8d9d9
@4a6f656c Are you able to help investigate this? Thanks.
Change https://golang.org/cl/278732 mentions this issue: env/openbsd-amd64: syspatch on first boot
Change https://golang.org/cl/279134 mentions this issue: dashboard: update OpenBSD 6.8 images with 009_exit syspatch, take 2
Change https://golang.org/cl/279512 mentions this issue: dashboard: promote OpenBSD 6.8 builders to be default
Change https://golang.org/cl/279723 mentions this issue: dashboard: shard openbsd-amd64-68 TryBot also
Change https://golang.org/cl/280052 mentions this issue: ipv6: skip known-failing tests on OpenBSD 6.8 builders
Change https://golang.org/cl/314749 mentions this issue: [internal-branch.go1.16-vendor] ipv6: skip known-failing tests on OpenBSD 6.8 builders
Change https://golang.org/cl/314750 mentions this issue: [release-branch.go1.15] ipv6: skip known-failing tests on OpenBSD 6.8 builders
Change https://golang.org/cl/314751 mentions this issue: [release-branch.go1.15-bundle] ipv6: skip known-failing tests on OpenBSD 6.8 builders
OpenBSD 6.6 is out:
https://www.openbsd.org/66.html
Update our GCE builders. (rather, add a builder)
Pending CL https://go-review.googlesource.com/c/build/+/176237 does most the work (but using pre-release 6.5 instead of 6.6).
Just need to build it, test it (with x/build/cmd/debugnewvm) and configure it if it works.
/cc @cagedmantis @dmitshur @bcmills