Skip to content

GCStress: ensure every object moves on a GC #10187

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

Open
BruceForstall opened this issue Apr 18, 2018 · 8 comments
Open

GCStress: ensure every object moves on a GC #10187

BruceForstall opened this issue Apr 18, 2018 · 8 comments

Comments

@BruceForstall
Copy link
Contributor

At least, every object that is legal to move should move.

One problem with GCStress today is that when a GC occurs, most of the time (in some measurement I've done) objects don't actually move. This means that bad GC info doesn't get noticed.

@Maoni0
Copy link
Member

Maoni0 commented Apr 19, 2018

@Maoni0
Copy link
Member

Maoni0 commented Aug 27, 2018

@BruceForstall

most of the time (in some measurement I've done) objects don't actually move

can you please tell me which tests you used to do your measurements? I just want to establish a baseline before we put in fixes for this.

@BruceForstall
Copy link
Contributor Author

I can't remember what I was doing at the time. I was probably looking at the CLR logging (or maybe GC logging?) for a GCStress 4 or 8 or 0xC run of some relatively long-running test with allocations, and noticing that the output indicated objects didn't move.

@Maoni0
Copy link
Member

Maoni0 commented Aug 27, 2018

ok... what do you recommend that we use to see the effect of the fixes? just run jit tests with GCStress 4/8/C?

@BruceForstall
Copy link
Contributor Author

If you want to verify that objects move, you'll obviously need a test that uses some kind of internal logging with before/after addresses for every object. Or maybe a COMPlus variable that asserts when they are the same after a GC.

In terms of correctness, we run lots of GCStress 0xC jobs in the CI that can be triggered.

@Maoni0
Copy link
Member

Maoni0 commented Aug 27, 2018

I was not asking how to verify whether an object moves during a GC. I was asking for a set of tests your team normally runs so I can say "without these fixes x% objects moved for your scenarios whereas with them y% objects moved and y >> x, success!".

@msftgits msftgits transferred this issue from dotnet/coreclr Jan 31, 2020
@msftgits msftgits added this to the Future milestone Jan 31, 2020
@ghost
Copy link

ghost commented Feb 27, 2023

Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.

This process is part of our issue cleanup automation.

@ghost ghost added backlog-cleanup-candidate An inactive issue that has been marked for automated closure. no-recent-activity labels Feb 27, 2023
@BruceForstall
Copy link
Contributor Author

@davidwrighton We were chatting about this issue recently.

@ghost ghost removed no-recent-activity backlog-cleanup-candidate An inactive issue that has been marked for automated closure. labels Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants