go: x/sys/windows: API break in SecurityAttributes struct
What version of Go are you using (go version)?
$ go version go version go1.11.13 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env N/A
What did you do?
In this revision of x/sys, there was a breaking API change:
https://github.com/golang/sys/commit/5c00192e8ce6429d705e1e4d83b4b22e79482964#diff-c4ffa695b270239c949ef5b31be6c4f5
This means that Docker doesn’t compile any more: https://github.com/moby/moby/blob/master/pkg/system/filesys_windows.go#L112
What did you expect to see?
Successful compilation.
What did you see instead?
cannot use uintptr(unsafe.Pointer(&sd[0])) (type uintptr) as type *"golang.org/x/sys/windows".SECURITY_DESCRIPTOR in assignment
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Comments: 21 (17 by maintainers)
Commits related to this issue
- get an older version of x/sys because of a bug with x/sys/windows (https://github.com/golang/go/issues/34610) — committed to tilt-dev/tilt by deleted user 5 years ago
- Pin golang.org/x/sys to fix windows compilation Upstream golang.org/x/sys introduced a breaking change within a major version again, see https://github.com/golang/go/issues/34610. The workaround is t... — committed to carolynvs/cnab-go by carolynvs-msft 4 years ago
- Pin golang.org/x/sys to fix windows compilation Upstream golang.org/x/sys introduced a breaking change within a major version, see https://github.com/golang/go/issues/34610. The workaround is to pin ... — committed to carolynvs/cnab-go by carolynvs-msft 4 years ago
- Pin golang.org/x/sys to fix windows compilation Upstream golang.org/x/sys introduced a breaking change within a major version, see https://github.com/golang/go/issues/34610. The workaround is to pin ... — committed to carolynvs/cnab-go by carolynvs-msft 4 years ago
- Pin golang.org/x/sys to fix windows compilation Upstream golang.org/x/sys introduced a breaking change within a major version, see https://github.com/golang/go/issues/34610. The workaround is to pin ... — committed to carolynvs/cnab-go by carolynvs-msft 4 years ago
- Pin golang.org/x/sys to fix windows compilation Upstream golang.org/x/sys introduced a breaking change within a major version, see https://github.com/golang/go/issues/34610. The workaround is to pin ... — committed to carolynvs/cnab-go by carolynvs-msft 4 years ago
- fix: pin version of golang.org/x/sys See: - https://github.com/golang/go/issues/34610 - https://github.com/rancher/rke/pull/2204/commits/5241360abbb52ece6b22d0c4b9c6d9aea13d0ff0 — committed to mdelapenya/testcontainers-go by mdelapenya 4 years ago
- fix: Pin x/sys for Windows (https://github.com/golang/go/issues/34610) — committed to pojntfx/alpimager by pojntfx 4 years ago
- Fix dependencies to be able to build windows version See here for more context https://github.com/golang/go/issues/34610 — committed to jadolg/DockerImageSave by jadolg 4 years ago
- Port to Windows (#216) This change set addresses https://github.com/simplesurance/baur/issues/94 and ports baur to Windows. The `make release` command will create a _baur.exe_ file. Things to note: ... — committed to simplesurance/baur by dil-spayne 4 years ago
What happened to us, (and caused us to notice this break), was doing:
go get -u google.golang.org/grpcgo get -u github.com/golang/protobufthen suddenly Docker stopped compiling, as
x/sys/windowsgot updated. Then we had to search the history to find a version Docker still compiled against.go get -u golang.org/x/sys@acfa387b8d69adbeab4af0736737d42b9f2e8254It wasn’t the end of the world, but pretty inconvenient.
Modules only help if we tag the sources appropriately, which we aren’t doing. And a breaking change requires changing the import path to golang.org/x/sys/windows/v2, which seems undesirable for a minor change like this.
I guess if this is underway we can continue. But let’s please pay more attention to breaking changes.