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: execution halts with goroutines stuck in runtime.gopark (protocol error E08 during memory read for packet) [1.21 backport] #62019

Closed
gopherbot opened this issue Aug 14, 2023 · 2 comments
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Milestone

Comments

@gopherbot
Copy link
Contributor

@dr2chase requested issue #61768 to be considered for backport to the next 1.21 minor release.

@gopherbot please open the backport tracking issues. This is an annoying bug, possible cause of flakes, with a targeted fix.

@gopherbot gopherbot added the CherryPickCandidate Used during the release process for point releases label Aug 14, 2023
@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Aug 14, 2023
@gopherbot gopherbot added this to the Go1.21.1 milestone Aug 14, 2023
@gopherbot
Copy link
Contributor Author

Change https://go.dev/cl/519375 mentions this issue: runtime: profiling on Darwin cannot use blocking reads

@dmitshur dmitshur added CherryPickApproved Used during the release process for point releases and removed CherryPickCandidate Used during the release process for point releases labels Aug 16, 2023
@gopherbot
Copy link
Contributor Author

Closed by merging 6634ce2 to release-branch.go1.21.

gopherbot pushed a commit that referenced this issue Aug 17, 2023
…ing reads

On Darwin (and assume also on iOS but not sure), notetsleepg
cannot be called in a signal-handling context.  Avoid this
by disabling block reads on Darwin.

An alternate approach was to add "sigNote" with a pipe-based
implementation on Darwin, but that ultimately would have required
at least one more linkname between runtime and syscall to avoid
racing with fork and opening the pipe, so, not.

Fixes #62019.
Updates #61768.

Change-Id: I0e8dd4abf9a606a3ff73fc37c3bd75f55924e07e
Reviewed-on: https://go-review.googlesource.com/c/go/+/518836
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
(cherry picked from commit c6ee8e3)
Reviewed-on: https://go-review.googlesource.com/c/go/+/519375
Reviewed-by: Austin Clements <austin@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CherryPickApproved Used during the release process for point releases compiler/runtime Issues related to the Go compiler and/or runtime.
Projects
None yet
Development

No branches or pull requests

2 participants