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

[browser][MT] TimeZoneInfoTests.ChangeLocalTimeZone not thread safe #101166

Open
pavelsavara opened this issue Apr 17, 2024 · 3 comments
Open

[browser][MT] TimeZoneInfoTests.ChangeLocalTimeZone not thread safe #101166

pavelsavara opened this issue Apr 17, 2024 · 3 comments
Labels
arch-wasm WebAssembly architecture area-VM-threading-mono disabled-test The test is disabled in source code against the issue os-browser Browser variant of arch-wasm
Milestone

Comments

@pavelsavara
Copy link
Member

pavelsavara commented Apr 17, 2024

Log

[20:36:08] info: [FAIL] System.Tests.TimeZoneInfoTests.ChangeLocalTimeZone(id: "America/Buenos_Aires")
[20:36:08] info: Assert.Equal() Failure: Strings differ
[20:36:08] info:            ↓ (pos 0)
[20:36:08] info: Expected: "-03"
[20:36:08] info: Actual:   "UTC"
[20:36:08] info:            ↑ (pos 0)
[20:36:08] info:    at System.Tests.TimeZoneInfoTests.ChangeLocalTimeZone(String id)
[20:36:08] info:    at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
[20:36:08] info:    at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)

Build Information

Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=645791
Build error leg or test failing:

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "[FAIL] System.Tests.TimeZoneInfoTests.ChangeLocalTimeZone",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=645791
Error message validated: [[FAIL] System.Tests.TimeZoneInfoTests.ChangeLocalTimeZone]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 4/17/2024 7:32:57 AM UTC

Report

Build Definition Test Pull Request
646615 dotnet/runtime WasmTestOnBrowser-System.Runtime.Tests.WorkItemExecution #100094
646414 dotnet/runtime WasmTestOnBrowser-System.Runtime.Tests.WorkItemExecution #101168
645791 dotnet/runtime WasmTestOnBrowser-System.Runtime.Tests.WorkItemExecution #101138

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 3 3
@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-VM-threading-mono Known Build Error Use this to report build issues in the .NET Helix tab os-browser Browser variant of arch-wasm labels Apr 17, 2024
@pavelsavara pavelsavara added this to the 9.0.0 milestone Apr 17, 2024
Copy link
Contributor

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

@lewing
Copy link
Member

lewing commented Apr 17, 2024

I think we can just skip it on MT for now, its testing that the startup TZ selection works but the mechanism it is using is inherently unsafe in the MT context.

@mkhamoyan mkhamoyan added the disabled-test The test is disabled in source code against the issue label Apr 18, 2024
@pavelsavara pavelsavara removed the Known Build Error Use this to report build issues in the .NET Helix tab label Apr 22, 2024
@lewing lewing modified the milestones: 9.0.0, Future Apr 26, 2024
@mkhamoyan
Copy link
Contributor

As discussed in #103953 we need to add additional test case to observe a single non-UI thread performing the change and examining the slow propagation of this change.
The objective is to understand the underlying mechanism in emscripten and identify the necessary synchronization in mono to prevent issues like "read after write hazards".
This approach will provide clearer insights into the root cause.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-wasm WebAssembly architecture area-VM-threading-mono disabled-test The test is disabled in source code against the issue os-browser Browser variant of arch-wasm
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants