You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Intl.getCanonicalLocales tests fail on Windows Server 2022 due to mismatch ICU version #7059
[757/2600 0.16] Failed -> Intl\GetCanonicalLocales.js
C:\gitP\microsoft\ChakraCore\Build\VcBuild\bin\x64_Test\ch.exe -ExtendedErrorStackForTestHost -BaselineMode -WERExceptionSupport -maxInterpretCount:1 -maxSimpleJitRunCount:1 -bgjit- -dynamicprofilecache:profile.dpl.1105 -args summary -endargs C:\gitP\microsoft\ChakraCore\test\Intl\GetCanonicalLocales.js
Output:
----------------------------
ICU_VERSION = 64
de-DE-u-co-yes-kn-true
*** Running test #1 (0): Intl.getCanonicalLocales Functionality (according to ECMA 402 #sec-canonicalizelocalelist)
Test threw exception: assert.areEqual failed at (GetCanonicalLocales.js:102:17):
expected: de-DE-u-co-kn
actual: de-DE-u-co-yes-kn-true
FAILED
*** Running test #2 (1): Handling of unsupported tags and subtags (general canonicalization)
Test threw exception: assert.areEqual failed at (GetCanonicalLocales.js:139:17):
expected: xx-ZZ-u-yy-zz
actual: xx-ZZ-u-yy-yes-zz-yes
FAILED
Summary of tests: total executed: 11; passed: 9; failed: 2
Additional Context
We build Chakra using the latest MSVC to detect compiler regressions. After updating the SHA to 97e68c9, we observed that Chakra test exhibited different behaviors on CI test VMs compared to local test VMs. The root cause was conclusively identified as differences in the Windows and ICU versions.
changed the title [-][Bug]: Intl.getCanonicalLocales tests fail on Windows Server 2022 due to dismatch ICU version[/-][+][Bug]: Intl.getCanonicalLocales tests fail on Windows Server 2022 due to mismatch ICU version[/+]on Apr 27, 2026
Intl canonicalization tests are very sensitive to the ICU/CLDR data version installed on the host. If Windows Server 2022 carries a different ICU behavior than the CI baseline, the test should either pin the expected data version or assert a range of accepted canonical forms where the spec allows it. Including the ICU version in the test failure output would make these failures much easier to diagnose.
Activity
ShortDevelopment commentedon Apr 24, 2026
This was likely caused by my last PR (#7048)
[-][Bug]: Intl.getCanonicalLocales tests fail on Windows Server 2022 due to dismatch ICU version[/-][+][Bug]: Intl.getCanonicalLocales tests fail on Windows Server 2022 due to mismatch ICU version[/+]hiSandog commentedon Jun 28, 2026
Intl canonicalization tests are very sensitive to the ICU/CLDR data version installed on the host. If Windows Server 2022 carries a different ICU behavior than the CI baseline, the test should either pin the expected data version or assert a range of accepted canonical forms where the spec allows it. Including the ICU version in the test failure output would make these failures much easier to diagnose.