go: syscall: failure with "go tool compile: fork/exec C:\workdir\...\compile.exe: The parameter is incorrect."
I just noticed that
https://github.com/golang/go/issues/44011
broken windows amd64 longtest
builder
https://build.golang.org/log/7cbab654e1a01035642ac138de3d6cf3fe18ef82
ok net/mail 0.031s
ok net/rpc 0.058s
ok net/rpc/jsonrpc 0.049s
go tool compile: fork/exec C:\workdir\go\pkg\tool\windows_amd64\compile.exe: The parameter is incorrect.
go tool dist: FAILED: go list -gcflags=all= -ldflags=all= -f={{if .Stale}} STALE {{.ImportPath}}: {{.StaleReason}}{{end}} std: exit status 1
and
windows arm zx2c4
builder
https://build.golang.org/log/d5a457cd180589d602604d652e58832c7450fdea
ok compress/lzw 0.292s
ok compress/zlib 1.534s
go tool asm: fork/exec C:\workdir\go\pkg\tool\windows_arm\asm.exe: The parameter is incorrect.
go tool dist: FAILED: go list -gcflags=all= -ldflags=all= -f={{if .Stale}} STALE {{.ImportPath}}: {{.StaleReason}}{{end}} std: exit status 1
Also other windows builders occasionally fail with strange errors.
https://build.golang.org/log/24e5d44bab19e14cee7ae4fca7702a6ca7e6cfa9
https://build.golang.org/log/33671e9cd3fa7c4249e15146caedb07d8d0336de
https://build.golang.org/log/4e96b5675f64045114f2db4d16416af17d001b29
I don’t even know how to debug this.
/cc @zx2c4
Alex
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 28 (23 by maintainers)
Commits related to this issue
- windows: treat proc thread attribute lists as unsafe.Pointers It turns out that the proc thread update function doesn't actually allocate new memory for its arguments and instead just copies the poin... — committed to golang/sys by zx2c4 3 years ago
- Keep up (#3) * cmd/compile: graceful handle error in noder LoadPackage When syntax.Parse returns error, noder.file will be nil. Currently, we continue accessing it regardlessly and depend on gc.h... — committed to gopher-lang/gopher by auxten 3 years ago
You don’t really get many guarantees, but the two general behaviors are: store a pointer in a struct, or allocate memory and copy the information. I assumed it was the latter. But it turned out to be the former, hence this issue.
I’ll look into it. It might be that stricter fd inheritance is unearthing subtle races that were there before but went unnoticed.