Skip to content

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

Merged
Anipik merged 1 commit into
release/5.0from
backport/pr-45506-to-release/5.0
Dec 11, 2020
Merged

[release/5.0] Fix debugger attach+read on Linux 32 bit#45882
Anipik merged 1 commit into
release/5.0from
backport/pr-45506-to-release/5.0

Conversation

@github-actions

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

Copy link
Copy Markdown
Contributor

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

ghost commented Dec 10, 2020

Copy link
Copy Markdown

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 janvorli and sdmaclea December 10, 2020 07:55
@hoyosjs

hoyosjs commented Dec 10, 2020

Copy link
Copy Markdown
Member

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.

@janvorli janvorli left a comment

Copy link
Copy Markdown
Member

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
Copy Markdown
Member

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

@jeffschwMSFT jeffschwMSFT left a comment

Copy link
Copy Markdown
Member

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

hoyosjs commented Dec 11, 2020

Copy link
Copy Markdown
Member

tactics approved by email

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

Anipik commented Dec 11, 2020

Copy link
Copy Markdown
Contributor

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