-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
invalid assert for segments #91491
invalid assert for segments #91491
Conversation
Tagging subscribers to this area: @dotnet/gc Issue Detailswhile testing (PR#91445)[https://github.com//pull/91445] for segments I noticed an assert -
callstack
it's hitting this assert in
if you look at these 2 fields they are the same so it would see a bit odd that we are triggering this assert 0:042> ?? seg->used but this is because we are doing decommit on Server GC thread for heap0. in
but you may or may not see this if you look at all the other threads since it might've alrady finished running. however, I can observe a larger used value if I read them into local values -
this doesn't happen with regions because we take the msl when we decommit. but we don't do this for segments. it doesn't cause any funcational problems - we just can't assert this.
|
errors aren't related to this change as they are for release and regions, neither is affected by this change. |
while testing PR#91445 for segments I noticed an assert -
callstack
it's hitting this assert in
if you look at these 2 fields they are the same so it would see a bit odd that we are triggering this assert
0:042> ?? seg->used
unsigned char * 0x00000235
42c24000 "--- memory read error at address 0x00000235
42c24000 ---"0:042> ?? seg->committed
unsigned char * 0x00000235
42c24000 "--- memory read error at address 0x00000235
42c24000 ---"but this is because we are doing decommit on Server GC thread for heap0. in
decommit_heap_segment_pages_worker
-but you may or may not see this if you look at all the other threads since it might've alrady finished running. however, I can observe a larger used value if I read them into local values -
this doesn't happen with regions because we take the msl when we decommit. but we don't do this for segments. it doesn't cause any funcational problems - we just can't assert this.