-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Memory corruption leading to Access Violation in .NET 9 using parallel reads on a Trie object #110088
Comments
Tagging subscribers to this area: @mangod9 |
Full stacktrace without inlining:
UPDATE: found corrupted objects in the GC heap:
Seems like a GC hole in |
Dup of #108763 ? |
I wonder if this is a case of calling a managed jit helper in a no gc region. |
Confirmed that setting |
Description
A small demonstration program using parallel reads of a Trie data structure lead to a memory corruption issue that crashed the program with an access violation. This does not reproduce on .NET 8 but reproduces on .NET 9.
I constructed a minimal repro project here: https://github.com/treit/ktrieIssue/
The Trie implementation is from this project: https://github.com/kpol/trie/tree/master
Reproduction Steps
Expected behavior
No access violation crash
Actual behavior
The program will eventually crash with an access violation. It may take a minute or two or it may happen immediately in my experience.
Regression?
This appears to be a regression because I cannot reproduce it running on .NET 8.
Known Workarounds
No response
Configuration
Windows 11 x64 running on .NET 9.
I did not have a chance to try this on Linux.
I did notice that I could not reproduce it on my local workstation, but it reproduces on both my laptop and my cloud dev box.
Other information
No response
The text was updated successfully, but these errors were encountered: