-
Notifications
You must be signed in to change notification settings - Fork 29
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
Support for collection of backtrace memory addresses #966
base: main
Are you sure you want to change the base?
Conversation
hammad45
commented
Nov 28, 2023
- Added support for collecting backtrace memory addresses using backtrace () and backtrace_symbols ()
- Get address-to-line mappings using addr2line for the unique memory addresses corresponding to the binary
- Modified Darshan logs to include the address-to-line mappings as part of the Darshan header and the complete memory addresses stack as part of the DXT trace data
Hi Hammad, this looks really nice. I'll try to create some logs with this new mode for DXT in MPI and POSIX as well, but could you share one of your logs for testing too? Also since this appears to change the log format, it should progress the log format versions, for example, DXT_*_VER for the affected modules in darshan-dxt-log-format.h. I'll try to run some tests and get back with additional feedback. |
It looks like this does regress for old darshan logs, it should not be a big deal to support both, but as is old logs will error out both for darshan-parser and darshan-dxt-parser, as well as pydarshan:
|
I guess a small paragraph for the documentation might be helpful as well. Something along the lines of:
Maybe some other noteworthy remarks from your experience when implementing this :) |
Hi Hammad, Thanks for submitting this PR! Could you provide some detailed comments/discussion on how exactly the stack traces are collected with this code? I think it would take me some time to grok all the code changes, but it will be easier if I'm able to better understand how this process is intended to be carried out. From a relatively quick first scan, it seems:
Any more elaborations there would be very welcome. Without understanding the full changes yet, I do have a couple of higher level concerns:
|