[SERVER-41364] Allow generation of compressed stack of addresses Created: 29/May/19 Updated: 29/Oct/23 Resolved: 26/Jul/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.1 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Benjamin Caimano (Inactive) | Assignee: | Shaileja Jain (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Sprint: | Service Arch 2019-07-01, Service Arch 2019-07-15, Service Arch 2019-08-12 | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Description |
|
Since we want to quickly gain access to a partial callstack, we'll need a function similar to printStackTrace that captures a capped list of stack information. This will likely be a vector of instruction pointers, as these pointers can be translated to symbols and offsets. |
| Comments |
| Comment by Githook User [ 31/Oct/19 ] |
|
Author: {'username': 'bcaimano', 'email': 'ben.caimano@mongodb.com', 'name': 'Ben Caimano'}Message: This commit backports Mutex, BasicLockableAdaptor, and DiagnosticInfo to Mutex: BasicLockableAdaptor: DiagnosticInfo:
Note that while this commit adds these pieces and integrates them into |
| Comment by Githook User [ 26/Jul/19 ] |
|
Author: {'name': 'Shaileja Jain', 'username': 'shailejajain', 'email': 'shaileja.jain@gmail.com'}Message: |
| Comment by Benjamin Caimano (Inactive) [ 13/Jun/19 ] |
|
I've confirmed that dl_iterate_phdr can at least allow us to find a map of offsets that includes the static objects of the program. We can reduce addresses to object and offset pairs from that map. It might be valuable to compare the results to what we can get out of backtrace_symbols_fd. I am a little sad to note that dl_iterate_phdr doesn't lay out the sections, just the segments. We'll probably have to wait for the symbolization script to get objects or symbolized names out of this style of trace. |