Skip to content

cmd/asm: amd64 assembler loops forever on a forward jump to a labelled PCALIGN when a branch needs widening [1.27 backport] #81927

Open

Description

@gopherbot

@lizthegrey requested issue #81792 to be considered for backport to the next 1.27 minor release.

@gopherbot please backport to Go 1.26 and Go 1.27

This is a regression introduced in Go 1.26 by CL 696915 (the #74648 fix). Every 1.26.x and 1.27.x release is affected.

The failure is a silent hang: go build never finishes and prints no error, so the cause is hard to find. The only workaround is to move the label in the assembly source.

This was hit in real generated code (github.com/klauspost/compress), which now works around it.

The fix, go.dev/cl/839925, is a one-line change in span6 with a regression test.

Activity

  1. added
    CherryPickCandidateUsed during the release process for point releases
    compiler/runtimeIssues related to the Go compiler and/or runtime.
    on Sep 30, 2026
  2. added this to the Go1.27.2 milestone on Sep 30, 2026
  3. gopherbot commented on Sep 30, 2026

    @gopherbot
    ContributorAuthor

    Change https://go.dev/cl/842345 mentions this issue: [release-branch.go1.27] cmd/internal/obj/x86: clear forward-jump list on PCALIGN

  4. added
    CherryPickApprovedUsed during the release process for point releases
    and removed
    CherryPickCandidateUsed during the release process for point releases
    on Oct 6, 2026
  5. dmitshur commented on Oct 6, 2026

    @dmitshur
    Member

    We discussed this in a release meeting. Approved the already-created backport CL.

  6. modified the milestones: Go1.27.2, Go1.27.3 on Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    CherryPickApprovedUsed during the release process for point releasescompiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions