Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

sdmaclea
Copy link

Summary

#28033 added DAC_ALIGNAS macro to force MSVC and clang/gcc compilers layouts to match. Unfortunately DataTargetReader::AlignBase() hard coded the difference in layouts. This PR updates DataTargetReader::AlignBase() to remove the obsolete assumption.

Customer impact

Customer reported being unable to examine stack traces using the out of process stack unwinder. This breaks their diagnostic tools.

Regression

Yes: Introduced by #28033
The regression was missed because the regression was only for Linux targets and FEATURE_METADATA_VERIFY_LAYOUTS is disabled on Linux.

Testing

Enabled FEATURE_METADATA_VERIFY_LAYOUTS in draft PR #28063 to verify layout assumptions on Linux too. Not in this PR simply to reduce size of PR to more easily meet servicing BAR.

Also tested with a custom built version of .NET Core 3.1.5 with this patch and the originals customers reported issue.

Risk

Low code is only used in DBI for debugging.

DAC_ALIGNAS macro was used to force MSVC and clang/gcc
compilers layouts to match.  Update DataTargetReader::AlignBase()
assumptions based on new layouts
@sdmaclea sdmaclea added area-Diagnostics Servicing-consider Issue for next servicing release review labels Jul 31, 2020
@sdmaclea sdmaclea added this to the 3.1.x milestone Jul 31, 2020
@sdmaclea sdmaclea requested a review from hoyosjs July 31, 2020 20:04
@sdmaclea sdmaclea self-assigned this Jul 31, 2020
Copy link
Member

@hoyosjs hoyosjs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm.

@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Aug 4, 2020
@leecow leecow modified the milestones: 3.1.x, 3.1.8 Aug 4, 2020
@Anipik Anipik merged commit 4cf9136 into release/3.1 Aug 11, 2020
sdmaclea added a commit to sdmaclea/coreclr that referenced this pull request Aug 12, 2020
DAC_ALIGNAS macro was used to force MSVC and clang/gcc
compilers layouts to match.  Update DataTargetReader::AlignBase()
assumptions based on new layouts
sdmaclea added a commit that referenced this pull request Aug 12, 2020
DAC_ALIGNAS macro was used to force MSVC and clang/gcc
compilers layouts to match.  Update DataTargetReader::AlignBase()
assumptions based on new layouts
sdmaclea added a commit to sdmaclea/coreclr that referenced this pull request Aug 12, 2020
DAC_ALIGNAS macro was used to force MSVC and clang/gcc
compilers layouts to match.  Update DataTargetReader::AlignBase()
assumptions based on new layouts
@sdmaclea sdmaclea deleted the DataTargetReader_AlignBase branch August 19, 2020 17:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Diagnostics Servicing-approved Approved for servicing release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants