-
Notifications
You must be signed in to change notification settings - Fork 25.6k
add an option to specify custom addr2line binary #118328
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
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/118328
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 2b03626 with merge base 25f7219 ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making it possible to use faster addr2line implementations. I have a few minor comments below.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Torch already has some built in functions to get environment variables. Is one of them appropriate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of course, only reason I did this is to copy the style in torch/csrc/utils/cpp_stacktraces.cpp. Will be happy to use these built-ins, which one you are referring to here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a lot of ways this binary might not work (mightn't be a file, might not be executable, might not exist). But this only checks for one. It might be preferable to just let the call to addr2line fail when invoked rather than try to enumerate all possible failures here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I was also wondering what's the best expectation of this "precheck" step when writing this part. Also I am wondering if we should do this limited scope precheck in the very beginning of the torch initialization phase, because I want to best mitigate the case that after a long run in the end when we have something interesting to dump only to find out we had a typo in the binary path which ruined the chance to collect info. I was originally planning to fail the execution completely on the spot to make it "fail fast" instead of the current falling back to the default addr2line with a few warning lines. Curious to see your take here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The argument here can just be replaced with addr2line_binary_
@pytorchbot rebase |
@pytorchbot started a rebase job onto refs/remotes/origin/viable/strict. Check the current status here |
Successfully rebased |
@pytorchbot merge |
Merge failedReason: This PR needs a If not, please add the To add a label, you can comment to pytorchbot, for example For more information, see Details for Dev Infra teamRaised by workflow job |
@pytorchbot label "topic: not user facing" |
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
There is a need for users to pick their own addr2line binary in their deployment due to reasons like default addr2line being too slow etc... This option would allow user quickly experiment other alternatives. Pull Request resolved: pytorch#118328 Approved by: https://github.com/zdevito, https://github.com/aaronenyeshi
There is a need for users to pick their own addr2line binary in their deployment due to reasons like default addr2line being too slow etc... This option would allow user quickly experiment other alternatives.