dotnet / dotnet/runtime

VolatilePtr load not always paired with proper store instruction

Open
#124,071 3 comments 0 reactions 0 assignees View on GitHub
area-VM-coreclr
Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Description

We've observed crashes in Roslyn's language server on macOS ARM64 while accessing the thread pointer in `DeadlockAwareLock::TryBeginEnterLock`https://github.com/dotnet/dotnet/blob/a1b9d991e4596823841f4f9d840e72ac369e3a7e/src/runtime/src/coreclr/vm/threads.cpp#L7417

@davidwrighton has noticed in some stacks we are loading the Volatile field that was stored without a proper barrield in other paths.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.