Skip to content

Conversation

@hoyosjs
Copy link
Member

@hoyosjs hoyosjs commented Oct 14, 2021

Fixes #60321

Before #59590, DAC paths used to only fall on paths where we
had loaded image layouts. The cleanup changed Get calls to GetOrCreate
ones which error out in the DAC always, even if the get is successful.
Simply have the DAC return on the successful get, and error if creation
was necessary.

This was also seen up stack in WinForms as a failure to start up the debugger.
The previous code technically had an AV risk, this also prevents that.

@hoyosjs hoyosjs requested a review from VSadov October 14, 2021 14:10
@ghost
Copy link

ghost commented Oct 14, 2021

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

Issue Details

Fixes #60321

Before #59590, DAC paths used to only fall on paths where we
had loaded image layouts. The cleanup changed Get calls to GetOrCreate
ones which error out in the DAC always, even if the get is successful.
Simply have the DAC return on the successful get, and error if creation
was necessary.

This was also seen up stack in WinForms as a failure to start up the debugger.
The previous code technically had an AV risk, this also prevents that.

Author: hoyosjs
Assignees: -
Labels:

area-Diagnostics-coreclr

Milestone: -

@hoyosjs
Copy link
Member Author

hoyosjs commented Oct 14, 2021

cc: @RussKie

Copy link
Member

@VSadov VSadov left a comment

Choose a reason for hiding this comment

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

LGTM, Thanks!!!

@hoyosjs hoyosjs merged commit 56d807d into dotnet:main Oct 14, 2021
@hoyosjs hoyosjs deleted the juhoyosa/layout-fix branch October 14, 2021 18:42
@ghost ghost locked as resolved and limited conversation to collaborators Nov 13, 2021
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.

DAC crashes WinDBGX on DBG/CHK builds

2 participants