Hitting assertion in AddServerGCThreadFromMark
I have locally build PervView in Debug configuration. When trying troubleshoot memory usage of restore process on Raspberry PI 3B+ (Raspbian 32-bit), I take trace using dotnet-trace collect -pid xxx. This result in the dotnet_20210729_084804.nettrace file.
I successfully open that file in PerfView, but when double-click on Memory Group\GCSTats I start constantly hitting assertion at following location
https://github.com/microsoft/perfview/blob/b8afc7358f2c6c9805848ae35d1164cc062dc952/src/TraceEvent/Computers/TraceManagedProcess.cs#L4545
There underlying assumption that ServerGC always have more then one Heap. Seems to be this is not true either on ARM. or in general. Is this something which I should do differently, or this logic should be extended?
do you know for sure that it has only 1 heap? you could verify this various ways, eg, you could look at the MarkWithType event which has a HeapNum field:
| Microsoft-Windows-DotNETRuntime/GC/MarkWithType ThreadID="3,720" ProcessorNumber="3" HeapNum="3" ClrInstanceID="11" Type="1" Promoted="0" |
if there are more than one heap you'd see multiple of them in one GC with the same Type field