Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/5.0] Fix debugger attach+read on Linux 32 bit #45882

Merged
merged 1 commit into from
Dec 11, 2020

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Dec 10, 2020

Backport of #45506 to release/5.0, fixes #44745

Description

The debug PAL was undefining of macros that cause 32 bit POSIX syscalls to use 64 bit offsets. The offsets are defined in a signed manner, which means that any address over the 2GB range that we use will result in an incoherent call to pread and similar APIs. This has been the case for years, but it only affected ARMv7 systems as they are currently our only Unix 32 bit target. Customers started reporting being unable to attach to their processes using the debugger. The bug became a blocker as we changed the debugger startup path to use symbol exports in CoreCLR for our single file story, meaning that the DAC no longer used a compile time header but an export. That read resulted in an access on the >2GB virtual memory region when run in a device with enough memory available with a signed address. In this sense, this is a regression from 3.1.

Customer Impact

Customers targeting linux-arm running on devices with more than 2 GB of memory will see spurious failures. Most of the times it will manifest as being unable to attach. There are no work arounds.

Testing

Manual testing on a device that matches the requirements for the bug to repro using VS as the test debugger.

Risk

Very low. Only impacts ARMv7 and the functions in this file are only used by the debugger.

@ghost
Copy link

ghost commented Dec 10, 2020

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

Issue Details

Backport of #45506 to release/5.0

/cc @hoyosjs

Customer Impact

Testing

Risk

Author: github-actions[bot]
Assignees: -
Labels:

area-Diagnostics-coreclr

Milestone: -

@hoyosjs hoyosjs requested review from sdmaclea and janvorli December 10, 2020 07:55
@hoyosjs
Copy link
Member

hoyosjs commented Dec 10, 2020

Activation tests are known, fixed on 5.0 by #45525

The mono failures are #45524. @akoeplinger any idea why the Windows tests are failing fatally on mono because of the VS update? We'd seen this in master when I disabled the leg, I started the backport PR as it's blocking 5.0, but I don't know if it's a good idea.

Copy link
Member

@janvorli janvorli left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@akoeplinger
Copy link
Member

@hoyosjs #45524 is still being investigated so disabling the tests in release/5.0 like you did with #45887 is good for now.

Copy link
Member

@jeffschwMSFT jeffschwMSFT left a comment

Choose a reason for hiding this comment

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

Approved. We should consider this for 5.0.2

@hoyosjs hoyosjs added this to the 5.0.x milestone Dec 10, 2020
@hoyosjs hoyosjs linked an issue Dec 10, 2020 that may be closed by this pull request
@hoyosjs hoyosjs self-assigned this Dec 10, 2020
@hoyosjs hoyosjs added NO-REVIEW Experimental/testing PR, do NOT review it Servicing-consider Issue for next servicing release review Servicing-approved Approved for servicing release and removed NO-REVIEW Experimental/testing PR, do NOT review it Servicing-consider Issue for next servicing release review labels Dec 10, 2020
@hoyosjs
Copy link
Member

hoyosjs commented Dec 11, 2020

tactics approved by email

@Anipik Anipik merged commit 131a30a into release/5.0 Dec 11, 2020
@Anipik
Copy link
Contributor

Anipik commented Dec 11, 2020

All the three failures are known and fixed

@jkotas jkotas deleted the backport/pr-45506-to-release/5.0 branch December 13, 2020 23:59
@danmoseley danmoseley modified the milestones: 5.0.x, 5.0.2 Jan 12, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Feb 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Linux arm 5.0 launch fails with CORDBG_E_MISSING_DEBUGGER_EXPORTS
8 participants