Skip to content

Conversation

@PeterSolMS
Copy link
Contributor

Let's see if the fix to the background GC heap corruption issue #68443 also fixes the issues with regions and AOT.

@PeterSolMS PeterSolMS requested review from Maoni0 and mangod9 May 10, 2022 07:14
@ghost ghost added the area-GC-coreclr label May 10, 2022
@ghost ghost assigned PeterSolMS May 10, 2022
@ghost
Copy link

ghost commented May 10, 2022

Tagging subscribers to this area: @dotnet/gc
See info in area-owners.md if you want to be subscribed.

Issue Details

Let's see if the fix to the background GC heap corruption issue #68443 also fixes the issues with regions and AOT.

Author: PeterSolMS
Assignees: PeterSolMS
Labels:

area-GC-coreclr

Milestone: -

@Maoni0
Copy link
Member

Maoni0 commented May 10, 2022

this doesn't seem to have the fix to #68443? I only see it enables regions for nativeaot..

@PeterSolMS
Copy link
Contributor Author

Yes, I wanted to try without and with the fix to see the difference...

@Maoni0
Copy link
Member

Maoni0 commented May 10, 2022

oh we know it's still reproing. Manish just submitted a PR last Friday.

@MichalStrehovsky
Copy link
Member

Let's re-run the CI with #69106 merged by closing a re-opening. I can't get a local repro of the Assertion failed: (*card_word)==0, file D:\a\_work\1\s\src\coreclr\gc\gc.cpp, line 12577 that the CI hit here.

@MichalStrehovsky
Copy link
Member

Let's see if #73110 helped.

@EgorBo
Copy link
Member

EgorBo commented Jul 31, 2022

@MichalStrehovsky in #49576 I also had to introduce a new gc helper "UpdateFrozenHeap" to bump heap_segment_allocated (roSeg) - without it I had random AVEs

UPD: tried to experiment with it for NativeAOT and it doesn't look to be the case sadly 😞

@mangod9
Copy link
Member

mangod9 commented Jul 31, 2022

This system.collections test failures are similar to that I had noticed back in March.

@MichalStrehovsky
Copy link
Member

/azp run runtime-extra-platforms

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@MichalStrehovsky
Copy link
Member

/backport to release/7.0

@github-actions
Copy link
Contributor

Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3051730219

@MichalStrehovsky
Copy link
Member

The last issue has something to do with conservative stack reporting. It feels like someone knowledgeable about the GC codebase might actually be able to root cause it from the dump. It doesn't look like a corruption to me.

Instructions to download the dump from the infra here:

https://helixre107v0xdeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-pull-69108-merge-dc967bff76f34c6eba/System.Linq.Expressions.Tests/1/how-to-debug-dump.md?helixlogtype=result

This is a conservatively reported object and looks like it is bogus and should be ignored (if I'm reading the optimized locals right). Instead we crash.

Stack:

(1a.23): Signal SIGSEGV (Segmentation fault) code SEGV_ACCERR (Invalid permissions for mapped object) at 0x7f1d2e4040*** WARNING: Unable to verify timestamp for System.Linq.Expressions.Tests
System_Linq_Expressions+0xa36678:
00000055`7eaca678 78696915 ldrh        w21,[x8,x9]
 # Child-SP          RetAddr               Call Site
00 (Inline Function) --------`--------     System_Linq_Expressions!WKS::gc_heap::get_brick_entry+0x10 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 8171] 
01 0000007e`f77faf10 00000055`7eacedf0     System_Linq_Expressions!WKS::gc_heap::find_object+0xc0 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 23322] 
02 0000007e`f77faf50 00000055`7eaa1ea8     System_Linq_Expressions!WKS::GCHeap::Promote+0x8c [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 45452] 
03 0000007e`f77faf80 00000055`7eaa764c     System_Linq_Expressions!GcEnumObjectsConservatively+0x8c [/__w/1/s/src/coreclr/nativeaot/Runtime/gcrhscan.cpp @ 142] 
04 0000007e`f77fafc0 00000055`7eaa73a4     System_Linq_Expressions!Thread::GcScanRootsWorker+0x25c
05 0000007e`f77fb050 00000055`7eaa1c68     System_Linq_Expressions!Thread::GcScanRoots+0x80 [/__w/1/s/src/coreclr/nativeaot/Runtime/thread.cpp @ 404] 
06 0000007e`f77fb2f0 00000055`7eac27bc     System_Linq_Expressions!GCToEEInterface::GcScanRoots+0xf0 [/__w/1/s/src/coreclr/nativeaot/Runtime/gcrhscan.cpp @ 67] 
07 0000007e`f77fb360 00000055`7eabf784     System_Linq_Expressions!WKS::gc_heap::mark_phase+0x2c8 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 26392] 
08 0000007e`f77fb440 00000055`7eac9e44     System_Linq_Expressions!WKS::gc_heap::gc1+0x1fc [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 20979] 
09 0000007e`f77fb500 00000055`7eabac84     System_Linq_Expressions!WKS::gc_heap::garbage_collect+0x840 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 22748] 
0a 0000007e`f77fb5c0 00000055`7eabd1c8     System_Linq_Expressions!WKS::GCHeap::GarbageCollectGeneration+0x3a8 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 46936] 
0b 0000007e`f77fb630 00000055`7eae051c     System_Linq_Expressions!WKS::gc_heap::try_allocate_more_space+0x414
0c (Inline Function) --------`--------     System_Linq_Expressions!WKS::gc_heap::allocate_more_space+0x14 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 18323] 
0d (Inline Function) --------`--------     System_Linq_Expressions!WKS::gc_heap::allocate+0x34 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 18352] 
0e 0000007e`f77fb690 00000055`7eaa0fdc     System_Linq_Expressions!WKS::GCHeap::Alloc+0x84 [/__w/1/s/src/coreclr/nativeaot/Runtime/../../gc/gc.cpp @ 45893] 
0f (Inline Function) --------`--------     System_Linq_Expressions!GcAllocInternal+0xa8 [/__w/1/s/src/coreclr/nativeaot/Runtime/gcrhenv.cpp @ 267] 
10 0000007e`f77fb6d0 00000055`7eafd85c     System_Linq_Expressions!RhpGcAlloc+0xe4 [/__w/1/s/src/coreclr/nativeaot/Runtime/gcrhenv.cpp @ 303] 
11 0000007e`f77fb710 00000055`7f03110c     System_Linq_Expressions!RhpNewArrayRare+0x48 [/__w/1/s/src/coreclr/nativeaot/Runtime/unix/unixasmmacrosarm64.inc @ 792] 

@jkotas
Copy link
Member

jkotas commented Oct 7, 2022

Superseded by #76737

@jkotas jkotas closed this Oct 7, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Nov 6, 2022
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.

6 participants