Skip to content

Commit

Permalink
WIP: Fix type layout diagnostics in the CoreCLR runtime
Browse files Browse the repository at this point in the history
In my change from the summer I added provisions to the type layout
check to support printing the differences as an aid for investigation
of this class of failures; I however put the diff display after the
assertion so that it actually doesn't get hit as the assertion tears
down the process. This change fixes the ordering and should let us
review the particular mismatch that occurs in the arm64 runs
(#60036).

Thanks

Tomas

P.S. The change includes the instrumentation to unblock the
GenericsTest test that hits this issue to let me analyze the diff.
  • Loading branch information
trylek committed Oct 12, 2021
1 parent 6c09f34 commit 18a4e8f
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 4 deletions.
2 changes: 1 addition & 1 deletion src/coreclr/vm/jitinterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13640,10 +13640,10 @@ BOOL LoadDynamicInfoEntry(Module *currentModule,

#ifdef _DEBUG
{
TypeLayoutCheck(pMT, pBlob, /* printDiff */ TRUE);
StackScratchBuffer buf;
_ASSERTE_MSG(false, fatalErrorString.GetUTF8(buf));
// Run through the type layout logic again, after the assert, makes debugging easy
TypeLayoutCheck(pMT, pBlob, /* printDiff */ TRUE);
}
#endif

Expand Down
3 changes: 0 additions & 3 deletions src/tests/issues.targets
Original file line number Diff line number Diff line change
Expand Up @@ -238,9 +238,6 @@
<ExcludeList Include="$(XunitTestBinBase)/JIT/Regression/JitBlue/Runtime_56953/Runtime_56953/*">
<Issue>https://github.com/dotnet/runtime/issues/57515</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/Interop/PInvoke/Generics/GenericsTest/*">
<Issue>https://github.com/dotnet/runtime/issues/60036</Issue>
</ExcludeList>
</ItemGroup>

<!-- Windows all architecture excludes -->
Expand Down

0 comments on commit 18a4e8f

Please sign in to comment.