Skip to content

Conversation

@davmason
Copy link
Contributor

dotnet-gcdump broke when running on recent version of perfview, after investigation the root cause was that Microsoft.Diagnostics.FastSerialization.SegmentedList had its Count field changed from an int to a long.

In the Graph.ToStream() method we called serializer.Write(m_nodes.Count) which would now write a 64 bit value, and when the deserializer expected a 32 bit value the deserializer would be 32 bits off and everything appeared corrupted.

I went through all files that we keep copies of and took all the updates I could find, but that is the core one that fixes the issue.

@davmason davmason requested a review from a team as a code owner October 19, 2022 08:27
@davmason davmason closed this Jan 4, 2023
@davmason davmason reopened this Jan 4, 2023
@davmason davmason merged commit 839361d into dotnet:main Jan 5, 2023
hoyosjs added a commit that referenced this pull request Feb 1, 2023
Return to pre-large heap support cap of 10 million nodes. Prior to #3475 we capped analysis at 10M nodes. After removing the cap, we often find issues in processing data. There's often an imbalance between node's edge count and the number of available edges. The problem is this error yields no gcdump, so we're adding the cap back until the edge imbalance can be figured out or the dumper can be made resilient. This still hides the buggy behavior around large graphs until it gets further investigation.
@github-actions github-actions bot locked and limited conversation to collaborators Jan 11, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants