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: inline marker targets not reachable after assembly on arm #40796

Closed
mundaym opened this issue Aug 14, 2020 · 4 comments
Closed

cmd/compile: inline marker targets not reachable after assembly on arm #40796

mundaym opened this issue Aug 14, 2020 · 4 comments
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@mundaym
Copy link
Member

mundaym commented Aug 14, 2020

The linux-arm buildbot is failing the test added in CL 247697. This is the same fundamental issue as seen in #40689 (ppc64x) and #40473 (s390x), and should be a similar fix.

The arm assembler is removing a Prog from the function while processing it. That same Prog is then being used to generate inlining data after assembly. Since the Prog was never assembled its PC is incorrect and so the generated inlining data is broken. This can cause problems with tracebacks, such as the infinite loop seen in #40473.

Build log: https://build.golang.org/log/eb1975072af9202c55e1ce8697f21fd94de691fe

@mundaym mundaym added the arch-arm Issues solely affecting the 32-bit arm architecture. label Aug 14, 2020
@mundaym mundaym added this to the Go1.16 milestone Aug 14, 2020
@mundaym mundaym added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Aug 14, 2020
@mundaym
Copy link
Member Author

mundaym commented Aug 14, 2020

/cc @randall77

@mundaym
Copy link
Member Author

mundaym commented Aug 14, 2020

@gopherbot Please open backport issues.

This bug can cause tracebacks to hang. There is no workaround. The fix for this issue will need to be backported before the test added in CL 247697 can be backported.

@gopherbot
Copy link

Backport issue(s) opened: #40797 (for 1.14), #40798 (for 1.15).

Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://golang.org/wiki/MinorReleases.

@gopherbot
Copy link

Change https://golang.org/cl/248684 mentions this issue: cmd/internal/obj: stop removing NOPs from instruction stream

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

3 participants
@gopherbot @mundaym and others