Uh oh!
There was an error while loading. Please reload this page.
[release/6.0] Single-file apps should not use copy-on-write mapping of the .exe on windows. - #59194
Conversation
ghost
commented
Sep 16, 2021
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. |
jeffschwMSFT
left a comment
There was a problem hiding this comment.
Approved. Please take a look at the failing CI and we can take for consideration in RC2.
ghost
commented
Sep 16, 2021
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.
|
VSadov
commented
Sep 16, 2021
bunch of legs cancelled with
is there a way to un-cancel? |
janvorli
commented
Sep 16, 2021
@VSadov rerunning the legs usually helps. If not, then closing / reopening the PR would re-run all the legs. |
VSadov
commented
Sep 16, 2021
I did not see an option to rerun on any leg, so i wondered if i would need to close/reopen. |
danmoseley
commented
Sep 16, 2021
MattGal
commented
Sep 16, 2021
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) |
danmoseley
commented
Sep 16, 2021
@mdh1418@steveisok is this a known issue? |
steveisok
commented
Sep 17, 2021
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. |
danmoseley
commented
Sep 17, 2021
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. |
steveisok
commented
Sep 17, 2021
@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 |
VSadov
commented
Sep 17, 2021
All tests green, finally. |
agocke
commented
Sep 17, 2021
Ironically, I think the right branch for this is now |
33ac523 to
2f0f10cComparedanmoseley
commented
Sep 17, 2021
logged both failures: should be good to merge. |
danmoseley
commented
Sep 17, 2021
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? |
steveisok
commented
Sep 17, 2021
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.