[release/6.0-rc2] Fix issues where the module index GUID table isn't properly computed #59377
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #59375 to release/6.0-rc2
/cc @davidwrighton
Customer Impact
Fixes a crash in crossgen2: "Process terminated. MVID mismatch between loaded assembly 'System.Private.CoreLib' (MVID = {F6D27F96-1F36-4195-B186-A151C83DD18F}) and an assembly with the same simple name embedded in the native image 'Filename.dll' (MVID = {758E0541-A304-04C9-A645-04C7C904D4B1}"
Crossgen2 is not correctly validating MVIDs for shared generics in composite images. This issue is impacting an internal customer who is unable to use recent versions of the ReadyToRun compiler (previously were using Preview 2).
Testing
Manual validation that the affected internal customer is able to build/run a binary produced with the updated compiler as well as running the standard crossgen2 with composite images test suite.
Risk
Low. This scenario cannot be reached using our standard publish pipeline. It is only expected to impact customers which manually execute crossgen2 with the inputbubble flag and do not include the full set of framework libraries in the application. This could add a small amount of unneeded logic to the size of a composite image, or it may fail to compile an R2R image if it detects that it is about to generate an invalid one.