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

win,src: revert simdutf to icu for win arm64 #46780

Closed

Conversation

StefanStojanovic
Copy link
Contributor

Recently, there has been a huge increase in the failing test count in Node.js on Windows on ARM64. One of the runs showcasing that can be viewed here. After investigating, I discovered that those failures are caused by migration from icu to simdutf. This PR reverts those changes for Windows on ARM, thus eliminating the regression.

There is an active effort, which I'm a part of, working on adding Windows on ARM to the list of officially supported platforms (adding it to CI, etc.). Once that's done, all changes will be tested there and we'll be able to see regressions earlier while still in PR. I've also opened an issue upstream in the simdutf repo to discuss it and find an appropriate solution.

cc: @nodejs/platform-windows-arm, @anonrig

Refs: nodejs/build#3046
Refs: #25998
Refs: #46471
Refs: #46472
Refs: #46548
Refs: simdutf/simdutf#216

Many tests started failing on ARM64 Windows after migrating from icu to
simdutf. This change reverts those changes for the problematic platform.

Refs: nodejs#46471
Refs: nodejs#46472
Refs: nodejs#46548
Refs: simdutf/simdutf#216
@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. labels Feb 22, 2023
@anonrig
Copy link
Member

anonrig commented Feb 22, 2023

cc @lemire

@lemire
Copy link
Member

lemire commented Feb 22, 2023

@StefanStojanovic I am having a look.

Note that simdutf should have full support for Windows/ARM64.

@lemire
Copy link
Member

lemire commented Feb 22, 2023

@StefanStojanovic Could you review simdutf/simdutf#217 ?

I get that all tests are green.

Capture d’écran, le 2023-02-22 à 16 48 37

I think that Microsoft would rather that we fix the problems in the libraries rather than disabling them, and I am sure that the node team would prefer that as well.

@lemire
Copy link
Member

lemire commented Feb 22, 2023

@anonrig We should be able to just fix the issue with a version bump of simdutf. I'll wait for feedback from @StefanStojanovic before issuing a patch release of simdutf. It is literally just one line that needed to be changed.

@lemire
Copy link
Member

lemire commented Feb 23, 2023

@anonrig Please consider upgrading to simdutf 3.2.1. Please see the release notes:
https://github.com/simdutf/simdutf/releases/tag/v3.2.1

There was indeed an issue. I have now manually checked that my fix works. That is, if you have an ARM64-based machine running Windows, you can just do cmake -B build && cmake --build build && cd build && ctest . -C Debug from within simdutf. Cross-compilation is somewhat trickier because you have to build the binary files and copy them over. But I did that too.

@anonrig
Copy link
Member

anonrig commented Feb 23, 2023

Thanks for the update @lemire. I've triggered the update script. We'll receive a pull request for simdutf soon.

@anonrig
Copy link
Member

anonrig commented Feb 26, 2023

Can we close this pull request? Is the issue resolved @StefanStojanovic?

@lemire
Copy link
Member

lemire commented Feb 26, 2023

I recommend closing it. If there are more issues, we can patch simdutf and update accordingly.

@StefanStojanovic
Copy link
Contributor Author

Based on the latest results of ARM64 tests I'd say that the regression is successfully removed. As a result, I'm closing this PR. @anonrig @lemire thank you for your help very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants