Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Fix memory reporting for GC in crash dumps #20233

Merged
merged 1 commit into from
Oct 3, 2018

Conversation

davmason
Copy link
Member

@davmason davmason commented Oct 2, 2018

Right now part of the generation table is not being reported when a crash dump is collected. It doesn't matter if a full memory dump is collected since the memory is present anyways, but it causes an error when using SOS commands on heap/mini dumps.

max_gen is zero indexed, so max_gen + 1 is the number of heaps, and then one more is necessary to account for the large object heap, so we end up with max_gen + 2.

@davmason davmason self-assigned this Oct 2, 2018
@davmason
Copy link
Member Author

davmason commented Oct 3, 2018

@dotnet-bot test Ubuntu arm Cross Checked Innerloop Build and Test
@dotnet-bot test Ubuntu arm Cross Checked no_tiered_compilation_innerloop Build and Test

@davmason
Copy link
Member Author

davmason commented Oct 3, 2018

@Maoni0 can you take a look?

Copy link
Member

@Maoni0 Maoni0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@davmason
Copy link
Member Author

davmason commented Oct 3, 2018

Thanks!

@davmason davmason merged commit d4b291c into dotnet:master Oct 3, 2018
mikem8361 added a commit to mikem8361/coreclr that referenced this pull request Jan 4, 2019
GC heap globals like ephemeral_heap_segment and finalize_queue are
null/invalid for a server GC. Add a check to skip the workstation GC
memory enumeration if server. The server memory enumeration already
skips if workstation GC.

The dynamic module fix is still needed, createdump would have still hit
this problem after the GC heap fix.

Report the entire generation table in EnumWksGlobalMemoryRegions and
EnumSvrGlobalMemoryRegions (dotnet#20233).
RussKeldorph pushed a commit that referenced this pull request Jan 10, 2019
GC heap globals like ephemeral_heap_segment and finalize_queue are
null/invalid for a server GC. Add a check to skip the workstation GC
memory enumeration if server. The server memory enumeration already
skips if workstation GC.

The dynamic module fix is still needed, createdump would have still hit
this problem after the GC heap fix.

Report the entire generation table in EnumWksGlobalMemoryRegions and
EnumSvrGlobalMemoryRegions (#20233).
@davmason davmason deleted the local_gc_fixes branch May 14, 2019 20:04
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
2 participants