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

Intermittent test crash on linux arm64 caused by FEATURE_STUBPRECODE_DYNAMIC_HELPERS #113810

Open
jkotas opened this issue Mar 23, 2025 · 3 comments
Labels
area-VM-coreclr untriaged New issue has not been triaged by the area owner

Comments

@jkotas
Copy link
Member

jkotas commented Mar 23, 2025

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=989940
Build error leg or test failing: HardwareIntrinsics_General_r.WorkItemExecution
Pull request: #113791

Error Message

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

{
  "ErrorMessage": "",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Report

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
0 0 0
@jkotas jkotas added blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab labels Mar 23, 2025
@dotnet-policy-service dotnet-policy-service bot added the untriaged New issue has not been triaged by the area owner label Mar 23, 2025
@jkotas
Copy link
Member Author

jkotas commented Mar 23, 2025

I have looked at runfo get-helix-payload -j 483c6874-7256-4cab-8178-20d45a3a2696 -w HardwareIntrinsics_General_r -o c:\helix_payload

We ended up jumping to address 0:

0:000> k
 # Child-SP          RetAddr               Call Site
00 0000e473`0e60de50 0000e4b3`c2b435f0     0x0
01 0000e473`0e60de80 0000e4b3`c2e0ff60     System_Private_CoreLib_e4b3c2840000!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+0x90
02 0000e473`0e60ded0 0000e4b3`c2d48a14     System_Private_CoreLib_e4b3c2840000!System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[[System.Int32, System.Private.CoreLib],[System.__Canon, System.Private.CoreLib]].MoveNext(System.Threading.Thread)+0x160
03 0000e473`0e60df20 0000e473`0dc038d0     System_Private_CoreLib_e4b3c2840000!System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1[[System.Boolean, System.Private.CoreLib]].SignalCompletion()+0x264
...

It is a race condition introduced by #113402 . The code flow

...
0000e4b3`c2e0f0dc 9115616b add         x11,x11,#0x558
0000e4b3`c2e0f0e0 f9400170 ldr         xip0,[x11]
0000e4b3`c2e0f0e4 d63f0200 blr         xip0 // R2R calling dictionary lookup
...
0000e4b3`c42e2fe8 5802004a ldr         x10,0000e4b3`c42e6ff0 // DynamicHelper_GenericDictionaryLookup_Class_TestForNull
0000e4b3`c42e2fec 5801ffec ldr         x12,0000e4b3`c42e6fe8
// This should jump to DynamicHelper_GenericDictionaryLookup_Class_TestForNull
// but it actually jumped to 0 since the code read the value before it was initialized
0000e4b3`c42e2ff0 d61f0140 br          x10

jkotas added a commit to jkotas/runtime that referenced this issue Mar 23, 2025
It is causing rare intermittent crashes across all tests. Workaround dotnet#113810.
@jkotas
Copy link
Member Author

jkotas commented Mar 23, 2025

cc @davidwrighton

jkotas added a commit to jkotas/runtime that referenced this issue Mar 23, 2025
It is causing rare intermittent crashes across all tests. Workaround dotnet#113810.
jkotas added a commit that referenced this issue Mar 24, 2025
It is causing rare intermittent crashes across all tests. Workaround #113810.
@jkotas
Copy link
Member Author

jkotas commented Mar 24, 2025

FEATURE_STUBPRECODE_DYNAMIC_HELPERS was disabled in #113811

@jkotas jkotas removed blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab labels Mar 24, 2025
@jkotas jkotas changed the title Intermittent test crash on linux arm64 Intermittent test crash on linux arm64 caused by FEATURE_STUBPRECODE_DYNAMIC_HELPERS Mar 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-VM-coreclr untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

No branches or pull requests

1 participant