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

Comments

@mundaym
Copy link
Member

@mundaym 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 label Aug 14, 2020
@mundaym mundaym added this to the Go1.16 milestone Aug 14, 2020
@mundaym
Copy link
Member Author

@mundaym mundaym commented Aug 14, 2020

@mundaym
Copy link
Member Author

@mundaym 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

@gopherbot gopherbot commented Aug 14, 2020

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

@gopherbot gopherbot commented Aug 15, 2020

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
@gopherbot @mundaym and others
You can’t perform that action at this time.