-
Notifications
You must be signed in to change notification settings - Fork 6
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
Update go1.23 #94
Closed
Closed
Update go1.23 #94
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Change-Id: I4f1668ed9085cf19c3eff17c237601a91d0660db Reviewed-on: https://go-review.googlesource.com/c/go/+/587876 Reviewed-by: Carlos Amedee <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]>
Currently TestPull is flaky because goroutines spawned to run subtests exit asynchronously when they finish and TestPull has explicit checks for the number of existing goroutines. This is pretty much only a problem between subtests executing, because within each subtest the coroutine goroutine spawned for iter.Pull always exits fully synchronously before the final `next` or `stop` returns. So, we can resolve the problem by ensuring the first goroutine count the test takes likely doesn't contain any exiting goroutines. The trick is to set GOMAXPROCS=1 and spin in runtime.Gosched until the number of goroutines stabilizes to some reasonable degree (we pick 100 consecutive iterations; there are only a handful of possible goroutines that can run, so this is giving that handful around 20 chances to actually run to completion). When running TestPull under stress2, this issue is easily reproducible before this CL. After this CL, it no longer reproduces under these conditions. Fixes golang#66017. Change-Id: I4bf0a9771f7364df7dd58f8aeb3ae26742d5746f Reviewed-on: https://go-review.googlesource.com/c/go/+/587917 Reviewed-by: David Chase <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
When the test fails, print the seed, to help debug. Change-Id: I1530ce433f3c6b573fbba061452f57c7649cad77 Reviewed-on: https://go-review.googlesource.com/c/go/+/587925 Reviewed-by: Than McIntosh <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
…ternal When a symbol is cloned to external (in order to edit it), propagate the FromAssembly attribute, so the linker knows it is (originally) an assembly symbol, and can treat it specially (e.g. for stack maps). This should fix the Linux/RISCV64 builder. Change-Id: Icc956bcc43b79f328983a60835b05fd50f22326a Reviewed-on: https://go-review.googlesource.com/c/go/+/587926 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Than McIntosh <[email protected]>
Since the introduction of origRlimitNofileCache in CL 476097 the only way to disable restoring RLIMIT_NOFILE before calling execve syscall (os.StartProcess etc) is this: var r syscall.Rlimit syscall.Getrlimit(syscall.RLIMIT_NOFILE, &r) syscall.Setrlimit(syscall.RLIMIT_NOFILE, &r) The problem is, this only works when setrlimit syscall succeeds, which is not possible in some scenarios. Let's assume that if a user calls syscall.Setrlimit, they unconditionally want to disable restoring the original rlimit. For golang#66797. Change-Id: I20d0365df4bd6a5c3cc8c22b0c0db87a25b52746 Reviewed-on: https://go-review.googlesource.com/c/go/+/588076 Run-TryBot: Kirill Kolyshkin <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> TryBot-Bypass: Ian Lance Taylor <[email protected]>
This change removes the last few references to internal/trace/v2. Notably, it shows up in the generators' imports, so they'll fail to run currently. Change-Id: Ibc5a9c1844634ea7620558e270ca3db9921ba56e Reviewed-on: https://go-review.googlesource.com/c/go/+/587930 Auto-Submit: Michael Knyszek <[email protected]> Reviewed-by: Carlos Amedee <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
goodFunc now returns a error describe the exact error it met. builtin call function can print the name of the callee function if the goodFunc check failed. For input {{call .InvalidReturnCountFunc}} before: can't evaluate field InvalidReturnTypeFunc in type *template.T after: invalid function signature for .InvalidReturnTypeFunc: second argument should be error; is bool Change-Id: I9aa53424ac9a2bffbdbeac889390f41218817575 GitHub-Last-Rev: 7c1e0db GitHub-Pull-Request: golang#65509 Reviewed-on: https://go-review.googlesource.com/c/go/+/561115 Reviewed-by: Rob Pike <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Commit-Queue: Ian Lance Taylor <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
For golang#65614. Change-Id: I759bf671b8f84c5224798b0dfaee6b158fdcc95a Reviewed-on: https://go-review.googlesource.com/c/go/+/587927 Reviewed-by: Carlos Amedee <[email protected]> Auto-Submit: Michael Knyszek <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Prior to CL 561115, calling a function without any return values would print "function called with 0 args; should be 1 or 2". Afterwards, the error message became "too many return values". Keep the improvement of referring to return values rather than args, and bring back clarity about their actual and permitted numbers. Change-Id: I2c014e4633208cc7052fac265a995a8f2fe68151 Reviewed-on: https://go-review.googlesource.com/c/go/+/588355 Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Before this change the pgo and non-pgo variants Imports slices pointed to the same array, so modifying the pgo variant's Imports slice to add the .ForMain suffix modified the non-pgo vairant's Imports slice too. This change clones the imports slice to avoid that. Fixes golang#66218 Change-Id: Ic936086f2c31f2056988d6546216142e4fce4d8d Reviewed-on: https://go-review.googlesource.com/c/go/+/588275 Reviewed-by: Sam Thanawalla <[email protected]> Auto-Submit: Michael Matloob <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Than McIntosh <[email protected]>
This change fills in the release notes for the go telemetry command as well as the unsettable GOTELEMETRY and GOTELEMETRYDIR go env values. For golang#67111 Change-Id: Id6943f79f7ab2457787e1639d8d5fb1c1e2649dc Reviewed-on: https://go-review.googlesource.com/c/go/+/587923 Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Sam Thanawalla <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Change-Id: I0c142eb18af7b03759041e894bbce0f365ea9d7e Reviewed-on: https://go-review.googlesource.com/c/go/+/588116 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
While at it, rename asTypeParam to asBoundTypeParam for clarity. For golang#67547. Fixes golang#67628. Change-Id: I2f447c4cd4d72f5315fe9323d82fcb9bf33657c6 Reviewed-on: https://go-review.googlesource.com/c/go/+/588797 Reviewed-by: Robert Griesemer <[email protected]> Auto-Submit: Robert Griesemer <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Commit-Queue: Robert Griesemer <[email protected]> Reviewed-by: Robert Findley <[email protected]>
For golang#67547. Fixes golang#67683. Change-Id: I9487820ab4e2bd257d253a7016df45729b29f836 Reviewed-on: https://go-review.googlesource.com/c/go/+/588855 Auto-Submit: Robert Griesemer <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Robert Findley <[email protected]> Reviewed-by: Robert Griesemer <[email protected]>
CL 582076 made the GOROOT_BOOTSTRAP set to "", which in turn causes the next iteration to return true. "$GOROOT_BOOTSTRAP/bin/go" becomes "/bin/go", which always exists. Fixes golang#67654 Change-Id: I290bd4a7defc58e4b34d5bf955ef4f34569ff0ed GitHub-Last-Rev: 9c7134f GitHub-Pull-Request: golang#67655 Reviewed-on: https://go-review.googlesource.com/c/go/+/588436 Auto-Submit: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Than McIntosh <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
Fixes golang#67651 Change-Id: I8128433ddd040c8b91d7b6264200e19433d7a7dc GitHub-Last-Rev: 7557a88 GitHub-Pull-Request: golang#67656 Reviewed-on: https://go-review.googlesource.com/c/go/+/588119 Reviewed-by: Than McIntosh <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Run-TryBot: Mauri de Souza Meneguzzo <[email protected]> TryBot-Bypass: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
Since all the platforms now support O_DIRECTORY flag for open, it can be used to (together with O_NOFOLLOW) to ensure we open a directory, thus eliminating the need to call stat before open. This fixes the symlink race, when a directory is replaced by a symlink in between stat and open calls. While at it, rename openFdAt to openDirAt, because this function is (and was) meant for directories only. NOTE Solaris supports O_DIRECTORY since before Solaris 11 (which is the only version Go supports since supported version now), and Illumos always had it. The only missing piece was O_DIRECTORY flag value, which is taken from golang.org/x/sys/unix. Updates golang#52745. Change-Id: Ic1111d688eebc8804a87d39d3261c2a6eb33f176 Reviewed-on: https://go-review.googlesource.com/c/go/+/588495 Reviewed-by: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Aleksa Sarai <[email protected]> Reviewed-by: Than McIntosh <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]>
For golang#67401. Change-Id: I015408a3f437c1733d97160ef2fb5da6d4efcc5c Reviewed-on: https://go-review.googlesource.com/c/go/+/587598 Reviewed-by: Cherry Mui <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Russ Cox <[email protected]>
A bad merge syncing before the submit of CL 587220 dropped these. (I forgot to write the file out.) For golang#67401. Change-Id: I6f2ba69f388907f3d24eeef55c80cbb2cf51f580 Reviewed-on: https://go-review.googlesource.com/c/go/+/587755 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Marten Seemann <[email protected]>
Add linknames for most modules with ≥50 dependents. Add linknames for a few other modules that we know are important but are below 50. Remove linknames from badlinkname.go that do not merit inclusion (very small number of dependents). We can add them back later if the need arises. Fixes golang#67401. (For now.) Change-Id: I1e49fec0292265256044d64b1841d366c4106002 Reviewed-on: https://go-review.googlesource.com/c/go/+/587756 Auto-Submit: Russ Cox <[email protected]> TryBot-Bypass: Russ Cox <[email protected]> Reviewed-by: Cherry Mui <[email protected]>
We recently added a C++ toolchain to the image, and this is causing problems on 386 and clang builders. The likely culprit is that we're missing 32-bit C++ libraries on the builders. Even if this theory is wrong, these tests *never* ran (always skipped, or truly never ran) on these platforms, so just skip them for now. We can look into getting the libraries installed later, but skip for now to unblock the builders. There are also problems with clang, but I believe they'll be resolved by setting CXX to clang++ in golangbuild. For golang#67698. Change-Id: I20fc1c5fa1285001ff86a4226771c30cf2e7f92d Cq-Include-Trybots: luci.golang.try:gotip-linux-386-clang15,gotip-linux-386 Reviewed-on: https://go-review.googlesource.com/c/go/+/588938 Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
CL 588938 skipped the tests because they were broken to unblock the builders, but we're fairly certain the reason they were failing is because we're missing g++-multilib. This change is intended to land once CL 589175 is deployed. Fixes golang#67698. Change-Id: I5bb679290ae9ba9ab3bda9499cdf1eec649bc066 Reviewed-on: https://go-review.googlesource.com/c/go/+/589195 Reviewed-by: Ian Lance Taylor <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Michael Knyszek <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
These tests are newly-running now that we have installed a C++ toolchain on the clang builders, but one of them doesn't actually complete in short mode. For golang#67698. Change-Id: Id1ff4c05e380426d920277c13495f30e23561a4e Reviewed-on: https://go-review.googlesource.com/c/go/+/589295 Auto-Submit: Michael Knyszek <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
For whatever reason, on the builders, when using /usr/bin/ld (the default linker) with -flto we end up with problems. Specifically, the linker seems to require LLVMgold.so and can't find it. I'm not really sure why, but what definitely seems to work is forcing use of lld, which ships with our clang installation on the builders. Just enforce this on the builders for now; I've actually had very few problems running this locally (and I think I'm also mixing and matching linkers and toolchains too...), so it may be related to the version of clang we're testing with. This change, along with CL 589295, should fully fix the clang builders. Fixes golang#67698. Change-Id: I3bfbcd609e7d0fd70e52ac7e2a0817db95664f20 Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-clang15,gotip-linux-386-clang15 Reviewed-on: https://go-review.googlesource.com/c/go/+/589296 Auto-Submit: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
There's an off-by-one error in computing the Args field for experimental events, resulting in confusing output. This wasn't caught because no test actually checks to make sure the experimental arguments make sense yet. Change-Id: I339677a80bee6319407fced20d5e0f9c2fd235b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/589055 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Carlos Amedee <[email protected]> Auto-Submit: Michael Knyszek <[email protected]> Reviewed-by: Michael Pratt <[email protected]>
For golang#27005 Cq-Include-Trybots: luci.golang.try:gotip-linux-amd64-longtest,gotip-windows-amd64-longtest Change-Id: I90ab8c21222ac2189abb40e8c8e7549e2d940dd2 Reviewed-on: https://go-review.googlesource.com/c/go/+/587941 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Michael Matloob <[email protected]>
This reverts commit 8ab131f (CL 586796) Reason for revert: This is part of a patch series that changed the handling of contended lock2/unlock2 calls, reducing the maximum throughput of contended runtime.mutex values, and causing a performance regression on applications where that is (or became) the bottleneck. Updates golang#66999 Updates golang#67585 Change-Id: I54711691e86e072081482102019d168292b5150a Reviewed-on: https://go-review.googlesource.com/c/go/+/589095 Reviewed-by: Michael Pratt <[email protected]> Auto-Submit: Rhys Hiltner <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Than McIntosh <[email protected]>
This reverts commit f9ba2cf (CL 586237) Reason for revert: This is part of a patch series that changed the handling of contended lock2/unlock2 calls, reducing the maximum throughput of contended runtime.mutex values, and causing a performance regression on applications where that is (or became) the bottleneck. This test verifies that the semantics of the mutex profile for runtime.mutex values matches that of sync.Mutex values. Without the rest of the patch series, this test would correctly identify that Go 1.22's semantics are incorrect (issue golang#66999). Updates golang#66999 Updates golang#67585 Change-Id: Id06ae01d7bc91c94054c80d273e6530cb2d59d10 Reviewed-on: https://go-review.googlesource.com/c/go/+/589096 Reviewed-by: Michael Pratt <[email protected]> Reviewed-by: Than McIntosh <[email protected]> Auto-Submit: Rhys Hiltner <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
This reverts commit 87e930f (CL 585639) Reason for revert: This is part of a patch series that changed the handling of contended lock2/unlock2 calls, reducing the maximum throughput of contended runtime.mutex values, and causing a performance regression on applications where that is (or became) the bottleneck. Updates golang#66999 Updates golang#67585 Change-Id: I1e286d2a16d16e4af202cd5dc04b2d9c4ee71b32 Reviewed-on: https://go-review.googlesource.com/c/go/+/589097 Reviewed-by: Than McIntosh <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Michael Pratt <[email protected]> Auto-Submit: Rhys Hiltner <[email protected]>
This reverts commit ba1c5b2 (CL 585638). Reason for revert: This is part of a patch series that changed the handling of contended lock2/unlock2 calls, reducing the maximum throughput of contended runtime.mutex values, and causing a performance regression on applications where that is (or became) the bottleneck. Updates golang#66999 Updates golang#67585 Change-Id: Ibeec5d8deb17e87966cf352fefc7efe2267839d6 Reviewed-on: https://go-review.googlesource.com/c/go/+/589115 Auto-Submit: Rhys Hiltner <[email protected]> Reviewed-by: Michael Pratt <[email protected]> Reviewed-by: Than McIntosh <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
The existing implementation of bogo_shim_test does not support tests that use the -no-tls1, -no-tls11, or -no-tls12 flags. This change adds support for these flags. Updates golang#51434 Change-Id: I43eaea9f5ec6da6811b150630a7dde24d108017e Reviewed-on: https://go-review.googlesource.com/c/go/+/595775 Auto-Submit: Roland Shoemaker <[email protected]> Reviewed-by: Russell Webb <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Roland Shoemaker <[email protected]>
This looks better than the default of using a code block. While at it, fix punctuation. Change-Id: I86abca4da1e9999b7e9043e615ad0988d35a5a46 Reviewed-on: https://go-review.googlesource.com/c/go/+/597656 Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
This looks way better than the code formatting. Similar to CL 597656. Change-Id: If404c952ece384aea096f2394bd475a601627a79 Reviewed-on: https://go-review.googlesource.com/c/go/+/597657 Reviewed-by: Cherry Mui <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]>
Change-Id: I3541859bbf3ac4f9317b82a66d21be3d5c4c5a84 Reviewed-on: https://go-review.googlesource.com/c/go/+/597658 Reviewed-by: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Carlos Amedee <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]>
This looks way better than the code formatting. Similar to CL 597656. Change-Id: I2c8809c1d6f8a8387941567213880662ff649a73 Reviewed-on: https://go-review.googlesource.com/c/go/+/597659 Reviewed-by: Ian Lance Taylor <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Change-Id: Iea0243edcf8bf73ce325695178a3ea5cfe420d31 Reviewed-on: https://go-review.googlesource.com/c/go/+/597775 Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Change-Id: I93f617bb6d82b00d44ce9a54c2ddcc8a61209783 Reviewed-on: https://go-review.googlesource.com/c/go/+/597776 Reviewed-by: Than McIntosh <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
When reading the counter data files from a given pod, close the underlying *os.File immediately after each one is read, as opposed to using a deferred close in the loop (which will close them all at the end of the function). Doing things this way avoids running into "too many open files" when processing large clumps of counter data files. Fixes golang#68468. Change-Id: Ic1fe1d36c44d3f5d7318578cd18d0e65465d71d9 Reviewed-on: https://go-review.googlesource.com/c/go/+/598735 Reviewed-by: Cherry Mui <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
The mem address should be regarded as uint32. Fixes golang#65571 Change-Id: Icee38d11f2d93eeca7d50b2e133159e321daeb90 GitHub-Last-Rev: c2568b1 GitHub-Pull-Request: golang#68400 Reviewed-on: https://go-review.googlesource.com/c/go/+/597955 Reviewed-by: Keith Randall <[email protected]> Reviewed-by: Keith Randall <[email protected]> Reviewed-by: Cuong Manh Le <[email protected]> Reviewed-by: Cherry Mui <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Comment in line 395: [x₀ < S, so S - x₀ < 0; drop it] Should be: [x₀ < S, so S - x₀ > 0; drop it] The proof is based on S - x₀ > 0, thus it's a typo of comment. Fixes golang#68466 Change-Id: I68bb7cb909ba2bfe02a8873f74b57edc6679b72a GitHub-Last-Rev: 40a2fc8 GitHub-Pull-Request: golang#68487 Reviewed-on: https://go-review.googlesource.com/c/go/+/598855 Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Keith Randall <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Keith Randall <[email protected]> Auto-Submit: Keith Randall <[email protected]>
The 1-minute test timeout seems a bit arbitrary. Use internal/testenv.Command, which applies t.Deadline to subcommand. For golang#67566. Change-Id: If84c96e353bdfaf02c9b123758198e031305ae32 Reviewed-on: https://go-review.googlesource.com/c/go/+/599056 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]>
When using frame pointer unwinding, we defer frame skipping and inline expansion for call stacks until profile reporting time. We can end up with records which have different stacks if no frames are skipped, but identical stacks once skipping is taken into account. Returning multiple records with the same stack (but different values) has broken programs which rely on the records already being fully aggregated by call stack when returned from runtime.MutexProfile. This CL addresses the problem by handling skipping at recording time. We do full inline expansion to correctly skip the desired number of frames when recording the call stack, and then handle the rest of inline expansion when reporting the profile. The regression test in this CL is adapted from the reproducer in grafana/pyroscope-go#103, authored by Tolya Korniltsev. Fixes golang#67548 This reapplies CL 595966. The original version of this CL introduced a bounds error in MutexProfile and failed to correctly expand inlined frames from that call. This CL applies the original CL, fixing the bounds error and adding a test for the output of MutexProfile to ensure the frames are expanded properly. Change-Id: I5ef8aafb9f88152a704034065c0742ba767c4dbb Reviewed-on: https://go-review.googlesource.com/c/go/+/598515 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Carlos Amedee <[email protected]> Reviewed-by: Cherry Mui <[email protected]>
This restores behavior that we lost in CL 588675. Fixes golang#68496 Change-Id: I1740986bed647835986d54109071b7a6b37413d5 Reviewed-on: https://go-review.googlesource.com/c/go/+/599015 Reviewed-by: Cherry Mui <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Commit-Queue: Ian Lance Taylor <[email protected]>
Update x/telemetry to fix problems caused by the file rotation timer. Commands run: go get golang.org/x/telemetry@0b706e1 go mod tidy go mod vendor Fixes golang#68497 Change-Id: I29861ec89dfaaf260eb051eb23ab9251903b5ea8 Reviewed-on: https://go-review.googlesource.com/c/go/+/598957 Reviewed-by: Michael Matloob <[email protected]> Auto-Submit: Robert Findley <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Fixes golang#63312 Change-Id: I7861bddcd4c6dc208b4449b923eb2785a122aadf Reviewed-on: https://go-review.googlesource.com/c/go/+/553157 Reviewed-by: Keith Randall <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Reviewed-by: Keith Randall <[email protected]> Reviewed-by: qiu laidongfeng2 <[email protected]> Auto-Submit: Keith Randall <[email protected]>
The function is called in nosplit context already. Fixes golang#68525 Change-Id: I8b9e324335b7c605d5a20cacdd58df09b7a7cf52 Reviewed-on: https://go-review.googlesource.com/c/go/+/599675 Reviewed-by: Cherry Mui <[email protected]> Reviewed-by: Michael Knyszek <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Cuong Manh Le <[email protected]>
Runtime functions, e.g. internal/abi.NoEscape, should not be instrumented with checkptr. But if they are inlined into a checkptr-enabled function, they will be instrumented, and may result in a check failure. Let the compiler not inline runtime functions into checkptr- enabled functions. Also undo the change in the strings package in CL 598295, as the compiler handles it now. Fixes golang#68511. Updates golang#68415. Change-Id: I78eb380855ac9dd53c1a1a628ec0da75c3e5a1a0 Reviewed-on: https://go-review.googlesource.com/c/go/+/599435 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Keith Randall <[email protected]> Reviewed-by: Cuong Manh Le <[email protected]> Reviewed-by: Keith Randall <[email protected]>
Fixes golang#68472 Change-Id: I21282621d679d9e2b032256b338c0b5ff107c8f4 Reviewed-on: https://go-review.googlesource.com/c/go/+/599816 Reviewed-by: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
Change-Id: Idf3c4427426e3cb74c7749762f2b4f621cf82dba GitHub-Last-Rev: 86f51a5 GitHub-Pull-Request: golang#68518 Reviewed-on: https://go-review.googlesource.com/c/go/+/599515 Auto-Submit: Ian Lance Taylor <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]>
…ch.go1.23 Merge List: + 2024-07-22 5e8a731 README: fix CC BY license name + 2024-07-22 a799fa5 slices: explicitly document nil and empty slice equality + 2024-07-22 f0de94f cmd/compile: don't inline runtime functions in -d=checkptr build + 2024-07-19 3959d54 runtime: mark lockWithRankMayAcquire as nosplit + 2024-07-17 70491a8 maps: document handling of non-reflexive keys + 2024-07-17 7321aa9 cmd: vendor golang.org/x/telemetry@0b706e1 + 2024-07-17 420037b os: don't try to signal PID -1 on Unix + 2024-07-17 87abb4a runtime: avoid multiple records with identical stacks from MutexProfile + 2024-07-17 8c88f0c cmd/cgo/internal/testcarchive: remove 1-minute timeout + 2024-07-17 fc51e50 math/big: fix comment typo in natdiv.go + 2024-07-17 90c6558 internal/bytealg: extend memchr result correctly on wasm + 2024-07-16 3557118 cmd/internal/cov: close counter data files eagerly + 2024-07-16 f2bcab5 regexp: more cross-references in docstrings + 2024-07-16 9915b87 bytes: more cross-references in docstrings + 2024-07-16 97ccc22 math/big: use lists in docstrings + 2024-07-16 66e940b math/big: more cross-references in docstrings + 2024-07-16 0dae393 encoding/binary: use list format in docstrings + 2024-07-16 451a284 strings,bytes,regexp: use lists in Split* docstrings + 2024-07-16 b4a92f5 crypto/tls: add exclude tls flags to bogo_shim_test + 2024-07-16 3bfbfa8 encoding/json: document compact json output in Encoder.Encode + 2024-07-16 d5479e1 net: document ParseIP always returns IPv6 addresses + 2024-07-16 5c7f541 archive/zip: document handling of duplicate names in Writer.Create + 2024-07-16 6b97448 sort: add example for Find + 2024-07-16 8b48290 cmd/compile: fix recursive generic interface instantiation + 2024-07-15 959b3fd flag: add FlagSet example Change-Id: I0e7cac2f1cef42ccf3d392c57dad793ca3b08b11
…destination Also clarify the permissions of created files, and note that CopyFS will not overwrite files. Update a few places in documentation to use 0oXXX for octal consts. For golang#62484 Change-Id: I208ed2bde250304bc7fac2b93963ba57037e791e Reviewed-on: https://go-review.googlesource.com/c/go/+/600775 Reviewed-by: Ian Lance Taylor <[email protected]> Reviewed-by: Russ Cox <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> (cherry picked from commit 910e6b5) Reviewed-on: https://go-review.googlesource.com/c/go/+/600815 Reviewed-by: Ian Lance Taylor <[email protected]>
…rting generic type alias When GOEXPERIMENT=aliastypeparams is set, type aliases may have type parameters. The compiler export data doesn't export that type parameter information yet, which leads to an index-out-of-bounds panic when a client package imports a package with a general type alias and then refers to one of the missing type parameters. This CL detects this specific case and panics with a more informative panic message explaining the shortcoming. The change is only in effect if the respective GOEXPERIMENT is enabled. Manually tested. No test addded since this is just a temporary fix (Go 1.24 will have a complete implementation), and because the existing testing framework doesn't easily support testing that a compilation panics. Together with @taking and input from @rfindley. For golang#68526. Change-Id: I24737b153a7e2f9b705cd29a5b70b2b9e808dffc Reviewed-on: https://go-review.googlesource.com/c/go/+/601035 Reviewed-by: Tim King <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Robert Griesemer <[email protected]>
…type with generic alias The typechecker is assuming that alias instances cannot be reached from a named type. However, when type parameters on aliases are permited, it can happen. This CL changes the typechecker to propagate the correct named instance is being expanded. Updates golang#46477 Fixes golang#68580 Change-Id: Id0879021f4640c0fefe277701d5096c649413811 Reviewed-on: https://go-review.googlesource.com/c/go/+/601115 Auto-Submit: Robert Griesemer <[email protected]> Reviewed-by: Dmitri Shuralyov <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Robert Griesemer <[email protected]> Auto-Submit: Cuong Manh Le <[email protected]> Reviewed-on: https://go-review.googlesource.com/c/go/+/601116
The flakes were introduced by me in CL 586655. It's unclear why only FreeBSD seems affected, maybe other TCP stacks handle sending on a half-closed connection differently, or aren't as quick to propagate the RST over localhost. Updates golang#68155 Change-Id: I32a1b474a7d6531dbab93910c23568b867629e8c Reviewed-on: https://go-review.googlesource.com/c/go/+/602635 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Cherry Mui <[email protected]> Run-TryBot: Filippo Valsorda <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Auto-Submit: Filippo Valsorda <[email protected]> Reviewed-by: Roland Shoemaker <[email protected]>
…1 or greater Only honor //go:build language version downgrades if the version specified is 1.21 or greater. Before 1.21 the version in //go:build lines didn't have the meaning of setting the file's language version. This fixes an issue that was appearing in GOPATH builds: Go 1.23 started providing -lang versions to the compiler in GOPATH mode (among other places) which it wasn't doing before. For example, take a go file with a //go:build line specifying go1.10. If that file used a 1.18 feature, that use would compile fine with a Go 1.22 toolchain. But, before this change, it would produce an error when compiling with the 1.23 toolchain because it set the language version to 1.10 and disallowed the 1.18 feature. This breaks backwards compatibility: when the build tag was added, it did not have the meaning of restricting the language version. Fixes golang#68658 Change-Id: I4ac2b45a981cd019183d52ba324ba8f0fed93a8e Reviewed-on: https://go-review.googlesource.com/c/go/+/603895 Reviewed-by: Robert Griesemer <[email protected]> Commit-Queue: Michael Matloob <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]> Auto-Submit: Michael Matloob <[email protected]> Reviewed-on: https://go-review.googlesource.com/c/go/+/604935
…n if 1.21 or greater" This reverts commit CL 604935. Reason for revert: The team has decided that this change will be added to a point release. Change-Id: I1c1032b881c3a98312a4753b9767cb7c8eed9e09 Reviewed-on: https://go-review.googlesource.com/c/go/+/605096 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: David Chase <[email protected]> Reviewed-by: Michael Matloob <[email protected]>
Change-Id: I2b0514157b85ca61f9f6b8931df6ac874598a045 Reviewed-on: https://go-review.googlesource.com/c/go/+/605215 Reviewed-by: Carlos Amedee <[email protected]> Auto-Submit: Gopher Robot <[email protected]> Auto-Submit: Carlos Amedee <[email protected]> Reviewed-by: David Chase <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
It appears that some builders (notably, linux-arm) have some additional security software installed, which apparently reads the files created by tests. As a result, test file atime is changed, making the test fail like these: === RUN TestChtimesOmit ... os_test.go:1475: atime mismatch, got: "2024-07-30 18:42:03.450932494 +0000 UTC", want: "2024-07-30 18:42:02.450932494 +0000 UTC" === RUN TestChtimes ... os_test.go:1539: AccessTime didn't go backwards; was=2024-07-31 20:45:53.390326147 +0000 UTC, after=2024-07-31 20:45:53.394326118 +0000 UTC According to inode(7), atime is changed when more than 0 bytes are read from the file. So, one possible solution to these flakes is to make the test files empty, so no one can read more than 0 bytes from them. For golang#68687 For golang#68663 Fixes golang#68812 Change-Id: Ib9234567883ef7b16ff8811e3360cd26c2d6bdab Reviewed-on: https://go-review.googlesource.com/c/go/+/604315 LUCI-TryBot-Result: Go LUCI <[email protected]> Reviewed-by: Kirill Kolyshkin <[email protected]> Reviewed-by: Robert Griesemer <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Commit-Queue: Ian Lance Taylor <[email protected]> Auto-Submit: Ian Lance Taylor <[email protected]> (cherry picked from commit 84266e1) Reviewed-on: https://go-review.googlesource.com/c/go/+/604196
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR will be imported into Gerrit with the title and first
comment (this text) used to generate the subject and body of
the Gerrit change.
Please ensure you adhere to every item in this list.
More info can be found at https://github.com/golang/go/wiki/CommitMessage
net/http: frob the quux before blarfing
"This change modifies Go to ___________"
really needed (ASCII art, table, or long link)
Fixes #1234
orUpdates #1234
(the latter if this is not a complete fix) to this comment
golang/go
you can use theowner/repo#issue_number
syntax:Fixes golang/tools#1234
Our Gerrit server & GitHub bots enforce CLA compliance instead.