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

debug/elf: duplicate llvm-dwarfdump entries in go1.18rc1 #51725

Open
chengruizhe opened this issue Mar 16, 2022 · 2 comments
Open

debug/elf: duplicate llvm-dwarfdump entries in go1.18rc1 #51725

chengruizhe opened this issue Mar 16, 2022 · 2 comments
Assignees
Labels
NeedsFix
Milestone

Comments

@chengruizhe
Copy link

@chengruizhe chengruizhe commented Mar 16, 2022

What version of Go are you using (go version)?

go 1.18rc1

Does this issue reproduce with the latest release?

Only with go 1.18

What operating system and processor architecture are you using (go env)?

linux_amd64

What did you do?

I compiled the linked https_server.go with go 1.18rc1, and llvm-dwarfdump https_server to inspect the debug info.
Search for DW_AT_name ("crypto/tls.(*Conn).Write").

What did you expect to see?

I expect the DW_TAG_formal_parameter for return values ~r0 and ~r1 to appear only once in the dwarfdump.
https_server.zip

What did you see instead?

The DW_TAG_formal_parameter for return values ~r0 and ~r1 are duplicated in the dwarfdump.
In go1.17, this doesn't seem to happen.

@chengruizhe chengruizhe changed the title affected/package: duplicate llvm-dwarfdump entries in go1.18rc1 Mar 16, 2022
@chengruizhe chengruizhe changed the title duplicate llvm-dwarfdump entries in go1.18rc1 debug/elf: duplicate llvm-dwarfdump entries in go1.18rc1 Mar 16, 2022
@randall77
Copy link
Contributor

@randall77 randall77 commented Mar 16, 2022

@thanm thanm self-assigned this Mar 16, 2022
@thanm
Copy link
Contributor

@thanm thanm commented Mar 16, 2022

Yup, that does indeed look buggy. I'll take a look.

@heschi heschi added the NeedsFix label Mar 16, 2022
@heschi heschi added this to the Go1.19 milestone Mar 16, 2022
copybaranaut pushed a commit to pixie-io/pixie that referenced this issue Mar 26, 2022
Summary:
1. Add bpf tests for Go 1.18
2. Add a hack for the duplicate Dwarf entry issue: golang/go#51725
3. Address the naming convention change for return values in dwarf for Go 1.18.

Test Plan: Original and newly added tests for Go 1.18.

Reviewers: #stirling, yzhao

Reviewed By: #stirling, yzhao

Subscribers: oazizi, yzhao

Signed-off-by: Ryan Cheng <rcheng@pixielabs.ai>

Differential Revision: https://phab.corp.pixielabs.ai/D10966

GitOrigin-RevId: 63edf122dbe9189e04bcd7c09b422a076077316f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsFix
Projects
None yet
Development

No branches or pull requests

4 participants