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

reflect: segmentation violation while using html/template [1.17 backport] #49961

Closed
gopherbot opened this issue Dec 3, 2021 · 5 comments
Closed
Labels
CherryPickApproved Used during the release process for point releases FrozenDueToAge
Milestone

Comments

@gopherbot
Copy link

@randall77 requested issue #49955 to be considered for backport to the next 1.17 minor release.

@gopherbot please open a backport issue for 1.17.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Dec 3, 2021
@gopherbot gopherbot added this to the Go1.17.5 milestone Dec 3, 2021
@randall77
Copy link
Contributor

Nasty crash in reflect call, due to missing garbage collector roots.
Original fix in #49363.

@gopherbot
Copy link
Author

Change https://golang.org/cl/369098 mentions this issue: [release-branch.go1.17] reflect: keep pointer in aggregate-typed args live in Call

@gopherbot
Copy link
Author

Change https://golang.org/cl/369158 mentions this issue: [release-branch.go1.17] reflect: keep pointer in aggregate-typed args live in Call

@mknyszek
Copy link
Contributor

mknyszek commented Dec 3, 2021

To the release team: we should approve this cherry pick. Memory corruption, no workaround.

@toothrot toothrot modified the milestones: Go1.17.5, Go1.17.6 Dec 9, 2021
@cherrymui cherrymui added CherryPickApproved Used during the release process for point releases and removed CherryPickCandidate Used during the release process for point releases labels Dec 15, 2021
@dmitshur dmitshur changed the title Segmentation violation while using html/template [1.17 backport] reflect: segmentation violation while using html/template [1.17 backport] Dec 21, 2021
@gopherbot
Copy link
Author

Closed by merging 0aa7f8f to release-branch.go1.17.

gopherbot pushed a commit that referenced this issue Dec 21, 2021
… live in Call

When register ABI is used, reflect.Value.Call prepares the call
arguments in a memory representation of the argument registers.
It has special handling to keep the pointers in arguments live.
Currently, this handles pointer-typed arguments. But when an
argument is an aggregate-type that contains pointers and passed
in registers, it currently doesn't keep the pointers live. Do
so in this CL.

Fixes #49961

Change-Id: I9264a8767e2a2c48573f6047144759b845dcf480
Reviewed-on: https://go-review.googlesource.com/c/go/+/369098
Trust: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
@golang golang locked and limited conversation to collaborators Dec 21, 2022
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 FrozenDueToAge
Projects
None yet
Development

No branches or pull requests

5 participants