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: fatal error: found bad pointer in Go heap [1.11 backport] #29565

Closed
gopherbot opened this issue Jan 4, 2019 · 8 comments

Comments

Projects
None yet
3 participants
@gopherbot
Copy link

commented Jan 4, 2019

@randall77 requested issue #29362 to be considered for backport to the next 1.11 minor release.

Yes, we should backport these.

@gopherbot please open an issue for backporting to 1.11.

@gopherbot

This comment has been minimized.

Copy link
Author

commented Jan 4, 2019

Change https://golang.org/cl/156357 mentions this issue: [release-branch.go1.11] runtime: skip stack barrier copy when there are no pointers

@gopherbot

This comment has been minimized.

Copy link
Author

commented Jan 4, 2019

Change https://golang.org/cl/156358 mentions this issue: [release-branch.go1.11] runtime: add test for go function argument scanning

@gopherbot

This comment has been minimized.

Copy link
Author

commented Jan 4, 2019

Change https://golang.org/cl/156359 mentions this issue: [release-branch.go1.11] runtime: don't scan go'd function args past length of ptr bitmap

@katiehockman

This comment has been minimized.

Copy link
Contributor

commented Jan 4, 2019

Approving since this constitutes a serious problem with no workaround.

@gopherbot

This comment has been minimized.

Copy link
Author

commented Jan 4, 2019

Closed by merging c36b532 to release-branch.go1.11.

@gopherbot gopherbot closed this Jan 4, 2019

gopherbot pushed a commit that referenced this issue Jan 4, 2019

[release-branch.go1.11] runtime: skip stack barrier copy when there a…
…re no pointers

After CL 31455, "go fun(n)" may put "n" to write barrier buffer
when there are no pointers in fun's arguments.

Updates #29565

Change-Id: Icfa42b8759ce8ad9267dcb3859c626feb6fda381
Reviewed-on: https://go-review.googlesource.com/c/155779
Reviewed-by: Keith Randall <khr@golang.org>
(cherry picked from commit 5372257)
Reviewed-on: https://go-review.googlesource.com/c/156357
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
@katiehockman

This comment has been minimized.

Copy link
Contributor

commented Jan 4, 2019

(don't know why gopherbot closed this)

@katiehockman katiehockman reopened this Jan 4, 2019

@gopherbot gopherbot closed this Jan 4, 2019

gopherbot pushed a commit that referenced this issue Jan 4, 2019

[release-branch.go1.11] runtime: add test for go function argument sc…
…anning

Derived	from Naoki's reproducer.

Update #29565

Change-Id: I1cbd33b38a2f74905dbc22c5ecbad4a87a24bdd1
Reviewed-on: https://go-review.googlesource.com/c/156122
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
(cherry picked from commit af43203)
Reviewed-on: https://go-review.googlesource.com/c/156358
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>

@katiehockman katiehockman reopened this Jan 4, 2019

@gopherbot

This comment has been minimized.

Copy link
Author

commented Jan 4, 2019

Closed by merging 84f1e92 to release-branch.go1.11.

@gopherbot gopherbot closed this Jan 4, 2019

@katiehockman

This comment has been minimized.

Copy link
Contributor

commented Jan 4, 2019

All 3 of the CLs have now been merged. This issue can now be "closed", even though gopherbot did it incorrectly before. (I'll be sending out a CL soon to fix that gopherbot bug).

gopherbot pushed a commit that referenced this issue Jan 4, 2019

[release-branch.go1.11] runtime: don't scan go'd function args past l…
…ength of ptr bitmap

Use the length of the bitmap to decide how much to pass to the
write barrier, not the total length of the arguments.

The test needs enough arguments so that two distinct bitmaps
get interpreted as a single longer bitmap.

Fixes #29565

Change-Id: I78f3f7f9ec89c2ad4678f0c52d3d3def9cac8e72
Reviewed-on: https://go-review.googlesource.com/c/156123
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Reviewed-on: https://go-review.googlesource.com/c/156359
Reviewed-by: Ian Lance Taylor <iant@golang.org>

@julieqiu julieqiu modified the milestones: Go1.11.5, Go1.11.6 Jan 23, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.