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

Test failure System.Tests.TimeZoneInfoTests.FijiTimeZoneTest #70274

Closed
VincentBu opened this issue Jun 6, 2022 · 14 comments · Fixed by #70309
Closed

Test failure System.Tests.TimeZoneInfoTests.FijiTimeZoneTest #70274

VincentBu opened this issue Jun 6, 2022 · 14 comments · Fixed by #70309
Labels
arch-arm64 area-System.Runtime blocking-clean-ci-optional Blocking optional rolling runs JitStress CLR JIT issues involving JIT internal stress modes os-windows

Comments

@VincentBu
Copy link
Contributor

Run: runtime-coreclr libraries-jitstressregs 20220605.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstressregs3-Windows.10.Arm64v8.Open

- System.Tests.TimeZoneInfoTests.FijiTimeZoneTest

Error message:

Assert.Equal() Failure
Expected: 13:00:00
Actual:   12:00:00


Stack trace
   at System.Tests.TimeZoneInfoTests.FijiTimeZoneTest() in /_/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs:line 2890
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodInvoker.cs:line 64
@VincentBu VincentBu added arch-arm64 os-windows JitStress CLR JIT issues involving JIT internal stress modes blocking-clean-ci-optional Blocking optional rolling runs labels Jun 6, 2022
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Jun 6, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jun 6, 2022
@ghost
Copy link

ghost commented Jun 6, 2022

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details

Run: runtime-coreclr libraries-jitstressregs 20220605.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstressregs3-Windows.10.Arm64v8.Open

- System.Tests.TimeZoneInfoTests.FijiTimeZoneTest

Error message:

Assert.Equal() Failure
Expected: 13:00:00
Actual:   12:00:00


Stack trace
   at System.Tests.TimeZoneInfoTests.FijiTimeZoneTest() in /_/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs:line 2890
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodInvoker.cs:line 64
Author: VincentBu
Assignees: -
Labels:

arch-arm64, os-windows, JitStress, area-CodeGen-coreclr, blocking-clean-ci-optional

Milestone: -

@jkotas jkotas added area-System.Globalization and removed area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Jun 6, 2022
@ghost
Copy link

ghost commented Jun 6, 2022

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

Issue Details

Run: runtime-coreclr libraries-jitstressregs 20220605.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstressregs3-Windows.10.Arm64v8.Open

- System.Tests.TimeZoneInfoTests.FijiTimeZoneTest

Error message:

Assert.Equal() Failure
Expected: 13:00:00
Actual:   12:00:00


Stack trace
   at System.Tests.TimeZoneInfoTests.FijiTimeZoneTest() in /_/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs:line 2890
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodInvoker.cs:line 64
Author: VincentBu
Assignees: -
Labels:

arch-arm64, area-System.Globalization, os-windows, JitStress, area-CodeGen-coreclr, untriaged, blocking-clean-ci-optional

Milestone: -

@jkotas
Copy link
Member

jkotas commented Jun 6, 2022

This test is failing in some environments. It failed on NativeAOT as well #69801, but we were not able to reproduce it.

@filipnavara
Copy link
Member

Windows.10.Arm64v8.Open

How much up-to-date are those machines? This particular time zone was adjusted around the end of November 2021 in a Windows update. I am not sure about the exact date when the update was published but on November 29, 2021 we had multiple machines with client Windows SKUs that were not updated yet while the Office 365 Exchange servers already had the new TZ definitions. The failure corresponds to the pre-update data.

@danmoseley
Copy link
Member

@dotnet/dnceng can help answer. I assume the images stay up to date with security patches but possibly not optional patches? If this was one.

@MattGal
Copy link
Member

MattGal commented Jun 6, 2022

@dotnet/dnceng can help answer. I assume the images stay up to date with security patches but possibly not optional patches? If this was one.

Happy to answer here:

  • Anything in Windows.10.Arm64v8.Open is not an "image", it's a physical device. This is because we cannot acquire any Arm64 Azure compute capacity and are running our test infrastructure on (mostly) Samsung GalaxyBooks
  • We recently were supposed to have reimaged all the machines in this queue to newer, but in the case of this one (DDARM64-067) it seems to have been overlooked and is running a slightly older OS. @ilyas1974 is going to follow up with DDFUN on that front.
  • In general, we have processes in place to run Windows update / linux package manager update on our on-prem machines monthly, but as these are physical devices managed by DDFUN obviously things slip through the cracks.

While we will continue to try to keep our giant collection of on-premises machines patched, if possible, maybe you could make your tests "aware" of the situation so they pass in either state?

@ghost
Copy link

ghost commented Jun 6, 2022

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

Issue Details

Run: runtime-coreclr libraries-jitstressregs 20220605.1

Failed test:

net7.0-windows-Release-arm64-CoreCLR_checked-jitstressregs3-Windows.10.Arm64v8.Open

- System.Tests.TimeZoneInfoTests.FijiTimeZoneTest

Error message:

Assert.Equal() Failure
Expected: 13:00:00
Actual:   12:00:00


Stack trace
   at System.Tests.TimeZoneInfoTests.FijiTimeZoneTest() in /_/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs:line 2890
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr) in /_/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodInvoker.cs:line 64
Author: VincentBu
Assignees: -
Labels:

arch-arm64, area-System.Runtime, os-windows, JitStress, untriaged, blocking-clean-ci-optional

Milestone: -

@tarekgh
Copy link
Member

tarekgh commented Jun 6, 2022

I believe it is better to make the test tolerant to the running environment.

@MattGal is there a way you can copy the registry hive under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Fiji Standard Time on the failing machine to see the TZ data there? just to ensure we can have the test work with such data. Thanks!

@MattGal
Copy link
Member

MattGal commented Jun 6, 2022

I believe it is better to make the test tolerant to the running environment.

@MattGal is there a way you can copy the registry hive under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Fiji Standard Time on the failing machine to see the TZ data there? just to ensure we can have the test work with such data. Thanks!

Here's the exact .reg contents of the machine which ran the work item log at the top of this issue, sorry about all the encoded text...

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Fiji Standard Time]
"Display"="(UTC+12:00) Fiji"
"Dlt"="Fiji Daylight Time"
"MUI_Display"="@tzres.dll,-1140"
"MUI_Dlt"="@tzres.dll,-731"
"MUI_Std"="@tzres.dll,-732"
"Std"="Fiji Standard Time"
"TZI"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,00,\
  00,00,00,00,00,00,00,01,00,05,00,01,00,00,00,00,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\Fiji Standard Time\Dynamic DST]
"2008"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
"2009"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,04,00,01,00,00,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,05,00,02,00,00,00,00,00,00,00
"2010"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,03,00,00,00,05,00,03,00,\
  00,00,00,00,00,00,00,00,0a,00,00,00,04,00,02,00,00,00,00,00,00,00
"2011"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,03,00,00,00,01,00,03,00,\
  00,00,00,00,00,00,00,00,0a,00,00,00,04,00,02,00,00,00,00,00,00,00
"2012"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,04,00,03,00,\
  00,00,00,00,00,00,00,00,0a,00,00,00,03,00,02,00,00,00,00,00,00,00
"2013"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0a,00,00,00,04,00,02,00,00,00,00,00,00,00
"2014"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,02,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,01,00,02,00,00,00,00,00,00,00
"2015"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,01,00,02,00,00,00,00,00,00,00
"2016"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,01,00,02,00,00,00,00,00,00,00
"2017"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,01,00,02,00,00,00,00,00,00,00
"2018"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,02,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,01,00,02,00,00,00,00,00,00,00
"FirstEntry"=dword:000007d8
"2019"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,02,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2022"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2023"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2024"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,02,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2025"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,02,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2026"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2027"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2028"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"2029"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,02,00,03,00,\
  00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00
"LastEntry"=dword:000007e5
"2021"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,\
  00,00,00,00,00,00,00,00,01,00,05,00,01,00,00,00,00,00,00,00,00,00
"2020"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,02,00,03,00,\
  00,00,00,00,00,00,00,00,0c,00,00,00,03,00,02,00,00,00,00,00,00,00

@tarekgh
Copy link
Member

tarekgh commented Jun 6, 2022

Looks like such machine is missing the time zone data for the year 2021

image

I'll try to fix the test to handle this case.

@MattGal
Copy link
Member

MattGal commented Jun 6, 2022

@tarekgh are you sure it's not just tacked onto the end of the list in the export? Unless someone modified my comment without Github knowing, the last two values are 2021 and 2020.

@tarekgh
Copy link
Member

tarekgh commented Jun 6, 2022

Oh, sorry. I was expecting to see it in order. never mind then about my last comment. Thanks!

@tarekgh
Copy link
Member

tarekgh commented Jun 6, 2022

Just to mention, part of the changes is listed here:

- TZI"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,00,00,03,00,03,00,00,00,00,00,00,00,00,00,01,00,05,00,01,00,00,00,00,00,00,00,00,00
+ TZI"=hex:30,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,01,00,06,00,01,00,00,00,00,00,00,00,00,00,00,00,0b,00,00,00,02,00,02,00,00,00,00,00,00,00

@tarekgh tarekgh mentioned this issue Jun 6, 2022
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jun 6, 2022
@tarekgh
Copy link
Member

tarekgh commented Jun 6, 2022

I have submitted a PR to fix this issue. To summarize, the issue was on the failing machine, it list "LastEntry"=dword:000007e5 which means the last supported year in TZ data is 2021 while the TZ data include more year's data. the correct value should be "LastEntry"=dword:000007ed.

@ghost ghost removed untriaged New issue has not been triaged by the area owner in-pr There is an active PR which will close this issue when it is merged labels Jun 7, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jul 7, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-arm64 area-System.Runtime blocking-clean-ci-optional Blocking optional rolling runs JitStress CLR JIT issues involving JIT internal stress modes os-windows
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants