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/6.0] Fix loading app-local ICU #77117

Merged
merged 9 commits into from
Oct 18, 2022

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Oct 17, 2022

Backport of #77065 to release/6.0

/cc @tarekgh

Customer Impact

Apps using the app-local feature will experience a crash when loading the app. This issue is reported by some user already.

Details

This issue is regression in the 6.0 servicing release. Early in .NET 7.0 cycle we have fixed an issue which was causing a hard build break. The build broke because ICU obsoleted one of the APIs and was generating compilation error if the code was using this API. We fixed this by dynamically binding to the correct API at runtime (as we support different ICU versions). This fix works fine in the main scenario case but missed initialize this API pointer when apps opt-in using the app-local feature which causes the crash. Recently, this change was ported to .NET 6.0 servicing #75294 by @lewing as it looks .NET 6.0 was running into similar build breaks.

Testing

We have manually tested the fix using app-local feature and ensured the crash is gone and the apps behave correctly. We have added a completely new test to test the app-local feature to avoid such regressions in the future.

Risk

The risk is low because the change is only adding a call to the API pointer initialization in the app-local feature code path. Such initialization calls already existed and exercised in the mainstream cases when using the system ICU version.

@ghost
Copy link

ghost commented Oct 17, 2022

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

Issue Details

Backport of #77065 to release/6.0

/cc @tarekgh

Customer Impact

Testing

Risk

IMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.

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

area-System.Globalization

Milestone: -

@tarekgh tarekgh added the Servicing-consider Issue for next servicing release review label Oct 17, 2022
@tarekgh tarekgh added this to the 6.0.x milestone Oct 17, 2022
@tarekgh
Copy link
Member

tarekgh commented Oct 17, 2022

@jkotas @janvorli could you please approve this? This is straight port to the fix you already reviewed before. Thanks!

@jkotas
Copy link
Member

jkotas commented Oct 17, 2022

net48 test failures need to be addressed

@tarekgh
Copy link
Member

tarekgh commented Oct 18, 2022

It is an interesting failure. Looks like something is wrong with the infrastructure. I'll look at how I can avoid that failure.

----- start Mon 10/17/2022 23:22:59.47 ===============  To repro directly: ===================================================== 
pushd C:\h\w\AC540944\w\B4D40912\e\
"\dotnet.exe" exec --runtimeconfig IcuAppLocal.Tests.runtimeconfig.json --depsfile IcuAppLocal.Tests.deps.json xunit.console.dll IcuAppLocal.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing 
popd
===========================================================================================================

C:\h\w\AC540944\w\B4D40912\e>"\dotnet.exe" exec --runtimeconfig IcuAppLocal.Tests.runtimeconfig.json --depsfile IcuAppLocal.Tests.deps.json xunit.console.dll IcuAppLocal.Tests.dll -xml testResults.xml -nologo -nocolor -notrait category=IgnoreForCI -notrait category=OuterLoop -notrait category=failing  
'"\dotnet.exe"' is not recognized as an internal or external command,
operable program or batch file.
----- end Mon 10/17/2022 23:22:59.49 ----- exit code 9009 ----------------------------------------------------------
2022-10-17T23:23:00.383Z	INFO   	run.py	run(48)	main	Beginning reading of test results.
2022-10-17T23:23:00.383Z	INFO   	run.py	__init__(42)	read_results	Searching 'C:\h\w\AC540944\w\B4D40912\e' for test results files
2022-10-17T23:23:00.383Z	INFO   	run.py	__init__(42)	read_results	Searching 'C:\h\w\AC540944\w\B4D40912\uploads' for test results files
2022-10-17T23:23:00.383Z	WARNING	run.py	__init__(55)	read_results	No results file found in any of the following formats: xunit, junit, trx
2022-10-17T23:23:00.383Z	INFO   	run.py	packing_test_reporter(30)	report_results	Packing 0 test reports to 'C:\h\w\AC540944\w\B4D40912\e\__test_report.json'
2022-10-17T23:23:00.430Z	INFO   	run.py	packing_test_reporter(33)	report_results	Packed 1420 bytes
['IcuAppLocal.Tests' END OF WORK ITEM LOG: Command exited with 9009]

@tarekgh tarekgh added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Oct 18, 2022
@tarekgh
Copy link
Member

tarekgh commented Oct 18, 2022

This is approved offline by @SteveMCarroll. Just discussing when this is going to be released.

@ericstj ericstj merged commit c35dae2 into release/6.0 Oct 18, 2022
@akoeplinger akoeplinger deleted the backport/pr-77065-to-release/6.0 branch October 27, 2022 13:13
@ghost ghost locked as resolved and limited conversation to collaborators Nov 26, 2022
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.

3 participants