-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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/6.0] Single-file apps should not use copy-on-write mapping of the .exe on windows. #59194
Conversation
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved. Please take a look at the failing CI and we can take for consideration in RC2.
Tagging subscribers to this area: @agocke, @vitek-karas, @VSadov Issue DetailsBackport of #59033 to release/6.0 Fixes: #55405 (App published as single file fails to run in Windows 10.0.17763 containers) Customer ImpactRegression from .NET Core 2.1 and 3.1 causing failure when a single-file app runs in a Windows 10.0.17763 container. (This is a relatively old 2018 RS5 build, but it is an LTS so it will be around for a while) TestingManually verified in an actual container. Regular Unit tests. RiskVery low. We do not benefit from copy-on-write part of the mapping on Windows since we do not do in-situ json parsing due to UTF8/UTF16 differences. We basically request COW for consistency with Unix. Somehow it triggers unexpected "access denied" failure for superhost-style single-file apps on this particular build/container. Since we do not do in-situ parsing on Windows, a read-only mapping is sufficient and we should request just what we need.
|
bunch of legs cancelled with
is there a way to un-cancel? |
@VSadov rerunning the legs usually helps. If not, then closing / reopening the PR would re-run all the legs. |
I did not see an option to rerun on any leg, so i wondered if i would need to close/reopen. |
Based off what was happening (machines failing to "phone home" after provisioning) this is what I would expect. I was just on a call with @ulisesh and we narrowed this down to a setting about interactive login for the agent. While some repos that do UI-testing will be adversely affected by this, un-setting the value seemed to immediately allow machines to provision at scale (even when their provisioning scripts "fail"; this seems to be a red herring found on the way to the answer). The interactive login setting is off now, so clicking through to AzDO and doing "Rerun failed jobs" should now work (I tried it here to check) |
@mdh1418 @steveisok is this a known issue?
|
Yes, spotted it earlier today. We use the name of the project as the name of the android app. The numbers in the name violate android naming rules. We'll be able to address them tomorrow. |
Any idea how it got through the system though? This project was added by #59074 and as far as I can tell, all its runtime-staging lanes passed. |
@danmoseley You won't see the test failures unless you look on the azdo side. https://dev.azure.com/dnceng/public/_build/results?buildId=1361380&view=results |
All tests green, finally. |
Ironically, I think the right branch for this is now |
33ac523
to
2f0f10c
Compare
logged both failures: should be good to merge. |
Should I expect a yellow on the Github side though? I mean, what is the indication that someone should go look at the azdo side? |
I wish that was the case, but from what I understand is that we can't due to AzDo limitations. With the staging pipeline, we have to go in and look. |
Backport of #59033 to release/6.0
/cc @agocke @VSadov
Fixes: #55405 (App published as single file fails to run in Windows 10.0.17763 containers)
Customer Impact
Regression from .NET Core 2.1 and 3.1 causing failure when a single-file app runs in a Windows 10.0.17763 container.
(This is a relatively old 2018 RS5 build, but it is an LTS so it will be around for a while)
Testing
Manually verified in an actual container. Regular Unit tests.
Risk
Very low.
We do not benefit from copy-on-write part of the mapping on Windows since we do not do in-situ json parsing due to UTF8/UTF16 differences. We basically request COW for consistency with Unix. Somehow it triggers unexpected "access denied" failure for superhost-style single-file apps on this particular build/container.
Since we do not do in-situ parsing on Windows, a read-only mapping is sufficient and we should request just what we need.