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

cmd/compile: panic: offset too large [1.19 backport] #56360

Closed
gopherbot opened this issue Oct 20, 2022 · 2 comments
Closed

cmd/compile: panic: offset too large [1.19 backport] #56360

gopherbot opened this issue Oct 20, 2022 · 2 comments
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link
Contributor

@cherrymui requested issue #55357 to be considered for backport to the next 1.19 minor release.

@gopherbot please backport this to previous releases. This can cause build failure for valid code. Thanks.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Oct 20, 2022
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Oct 20, 2022
@gopherbot gopherbot added this to the Go1.19.3 milestone Oct 20, 2022
@gopherbot
Copy link
Contributor Author

Change https://go.dev/cl/445176 mentions this issue: [release-branch.go1.19] cmd/compile: copy blank parameter node when substituting function type

@gopherbot gopherbot modified the milestones: Go1.19.3, Go1.19.4 Nov 1, 2022
@heschi heschi added the CherryPickApproved Used during the release process for point releases label Nov 2, 2022
@gopherbot gopherbot removed the CherryPickCandidate Used during the release process for point releases label Nov 2, 2022
@gopherbot
Copy link
Contributor Author

Closed by merging 39ac1fb to release-branch.go1.19.

gopherbot pushed a commit that referenced this issue Nov 8, 2022
…ubstituting function type

When a function type is copied (e.g. for substituting type
parameters), we make copies of its parameter ir.Name nodes, so
they are not shared with the old function type. But currently a
blank (_) identifier is not copied but shared. The parameter
node's frame offset is assigned (in ABI analysis) and then used in
the concurrent backend. Shared node can cause a data race. Make a
new blank parameter node to avoid sharing. (Unified IR does already
not have this problem. This fixes non-unified-IR mode.)

Updates #55357.
Fixes #56360.

Change-Id: Ie27f08e5589ac7d5d3f0d0d5de1a21e4fd2765c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/443158
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
(cherry picked from commit 4725c71)
Reviewed-on: https://go-review.googlesource.com/c/go/+/445176
andrew-d pushed a commit to tailscale/go that referenced this issue Dec 7, 2022
…ubstituting function type

When a function type is copied (e.g. for substituting type
parameters), we make copies of its parameter ir.Name nodes, so
they are not shared with the old function type. But currently a
blank (_) identifier is not copied but shared. The parameter
node's frame offset is assigned (in ABI analysis) and then used in
the concurrent backend. Shared node can cause a data race. Make a
new blank parameter node to avoid sharing. (Unified IR does already
not have this problem. This fixes non-unified-IR mode.)

Updates golang#55357.
Fixes golang#56360.

Change-Id: Ie27f08e5589ac7d5d3f0d0d5de1a21e4fd2765c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/443158
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
(cherry picked from commit 4725c71)
Reviewed-on: https://go-review.googlesource.com/c/go/+/445176
@golang golang locked and limited conversation to collaborators Nov 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime. FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

2 participants