-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Various createdump fixes and cleanup #97253
Conversation
Move std::string m_fileName out of MemoryRegion into ModuleRegion that is derived from MemoryRegion. Reduces createdump memory usage.
Tagging subscribers to this area: @tommcdon Issue Details
|
const MemoryRegion* region = SearchMemoryRegions(m_moduleMappings, search); | ||
if (region != nullptr) { | ||
return region->Flags(); | ||
assert(start == CONVERT_FROM_SIGN_EXTENDED(start)); |
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.
I don't think this will ever fire. ULONG_PTR is unsigned __int64
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.
Yes, on 64 bit arch is is int64, but on arm32 ULONG_PTR is int32_t/ULONG or 32bits so if start wasn't properly masked and signed extended (> 4G) it should fire. I may not be thinking about this right though.
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.
FYI, this macro came from the diagnostics repo.
Separate memory and module regions.
Move std::string m_fileName out of MemoryRegion into ModuleRegion that is derived from MemoryRegion.
Reduces createdump memory usage.
Fix arm32 sign extension issues. Cleanup: make void* address parameters uint64_t.
Don't add "(deleted)" files to the module list on Linux.
Issue: Createdump will incorrectly try to classify memfd entries as files #90547