Skip to content
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

runtime: upgrade to v3 version of race detector #49761

Closed
randall77 opened this issue Nov 23, 2021 · 17 comments
Closed

runtime: upgrade to v3 version of race detector #49761

randall77 opened this issue Nov 23, 2021 · 17 comments
Assignees
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge
Milestone

Comments

@randall77
Copy link
Contributor

randall77 commented Nov 23, 2021

See CL 333529 for the upgrade to linux/amd64. This issue is a TODO about updating all the other architectures.
@dvyukov

@gopherbot
Copy link

This issue is currently labeled as early-in-cycle for Go 1.19.
That time is now, so a friendly reminder to look at it again.

@dvyukov
Copy link
Member

dvyukov commented Mar 16, 2022

I see README now lists different llvm revisions for different arches.
Should we merge https://go-review.googlesource.com/c/go/+/333529 for amd64 only? Or update more arches at once? Keith, as far as I remember, you mentioned that you can re-build runtime for more arches.

@dvyukov
Copy link
Member

dvyukov commented Mar 28, 2022

Are we still early-in-cycle? For how long?

@mvdan
Copy link
Member

mvdan commented Mar 28, 2022

I don't think we are early in cycle anymore, but 1.19 is also a release with a unique timeline given how late its tree reopened. I think this is currently blocked on reviews or approvals, and I really hope it will get merged for the upcoming release :) I am more than happy to test the new race detector on all my projects, as I use -race fairly often and I daily drive Go master.

@dvyukov
Copy link
Member

dvyukov commented Mar 28, 2022

Then the question: do I submit cl/333529 now?
The sooner we start testing, the better. And amd64 is the most widely used arch I think.

@ianlancetaylor
Copy link
Contributor

@dvyukov Go ahead and submit the CL when you are ready. Thanks.

@dvyukov
Copy link
Member

dvyukov commented Mar 28, 2022

The linux/amd64 version is submitted, the builder said ok.

@randall77
Copy link
Contributor Author

I believe this is ~done. @dvyukov did linux/amd64 (CL 333529), me for the new s390x support (CL 401714), @cherrymui all of the others (CL 397494, 397676). Thanks everyone!

@cherrymui My understanding is windows/amd64 has not been updated - waiting for C toolchain issues, is that still true?

openbsd/amd64 will not be updated, as openbsd is no longer supported by the latest tsan.

@cherrymui
Copy link
Member

Yes, I haven't done windows/amd64. Last time I tried it ended with a build failure with the old GCC on the builder. I think @thanm is updating the C toolchain. As long as that is done, I'll try to build the new syso.

@thanm
Copy link
Contributor

thanm commented May 10, 2022

Alex and I are meeting tomorrow to work on the new builder image, so hopefully the new compilers will be available shortly after that. Fingers crossed.

@randall77
Copy link
Contributor Author

Ok, I'll leave this issue open for now. Cherry, feel free to mark the future CL for windows/amd64 as fixing this issue.

@randall77 randall77 assigned cherrymui and unassigned randall77 May 10, 2022
@randall77
Copy link
Contributor Author

Any word on the C toolchain issue?

@thanm
Copy link
Contributor

thanm commented May 31, 2022

Still working on the toolchain.

The latest wrinkle is that when I generate a new base Windows builder
using a more up-to-date GCP image (e.g. something like
windows-server-2012-r2-dc-v20220513 instead of what we were using
before (windows-server-2016-dc-core-v20171010), I get cgo test
failures (e.g. something in the new image is tickling a problem in the
linker). I'll need to debug that before I can move forward.

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Jul 7, 2022
@dmitshur dmitshur removed the early-in-cycle A change that should be done early in the 3 month dev cycle. label Jul 20, 2022
@thanm
Copy link
Contributor

thanm commented Jul 31, 2022

Update: my LLVM change to support V3 (https://reviews.llvm.org/D128909) has been submitted. This change can be used to build a working race_windows_amd64.syso file that works with Go tip. To test this change on your windows machine (assuming you are building Go from source) use

git fetch https://go.googlesource.com/go refs/changes/97/420197/2 && git checkout FETCH_HEAD

We have a logistics problem in that the new windows V3 runtime isn't buildable with the existing GCC compilers installed on the windows builders (they are an ancient version of GCC 5.1). We have new VM images (the windows-*newcc variants in the build pool) that have updated compilers, but we can't switch over to them by default, since we use those builders for testing minor releases, and the older releases can't grok the host objects from the newer compilers. I will be working with the release team to work out a solution this.

@gopherbot gopherbot modified the milestones: Go1.19, Go1.20 Aug 2, 2022
@randall77
Copy link
Contributor Author

Maybe the gcc support on Windows is now available? In any case, bumping to 1.21.

@randall77 randall77 modified the milestones: Go1.20, Go1.21 Dec 5, 2022
@cherrymui
Copy link
Member

The GCC support is in. CL 420197 updates the race syso, which targets Go 1.21. So, yeah, 1.21 milestone.

@gopherbot
Copy link

Change https://go.dev/cl/420197 mentions this issue: runtime/race: update race_windows_amd64.syso

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge
Projects
Development

No branches or pull requests

8 participants