-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[release/8.0-staging] Clean up the thread local memory regardless of managed thread's presence #95722
[release/8.0-staging] Clean up the thread local memory regardless of managed thread's presence #95722
Conversation
t_ThreadStatics.NonGCThreadStaticBlocks = nullptr; | ||
|
||
delete[] t_ThreadStatics.GCThreadStaticBlocks; | ||
t_ThreadStatics.GCThreadStaticBlocks = nullptr; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
believe this is just cleanup based on last PR, and doesn't affect the fix?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct - this addressed @AaronRobinsonMSFT's comment in #95362 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
approved. we will take for consideration in 8.0.x
Backport of #95715 to release/8.0-staging
/cc @kunalspathak
Customer Impact
#95362 doesn't fully solve the problem of memory leak and our customer has reported that the leak still exists. I have provided the binaries that contains the fix in this PR and they confirmed that it solved the memory leak problem.
Testing
Verified it manually with the C# application mentioned in #95715.
The customer confirmed that it passed their test.
Risk
Not risky because we will free the thread local memory only during the corresponding thread's termination.
IMPORTANT: If this backport is for a servicing release, please verify that:
IMPORTANT: If this backport is for a servicing release, please verify that:
The PR target branch is
release/X.0-staging
, notrelease/X.0
.If the change touches code that ships in a NuGet package, you have added the necessary package authoring and gotten it explicitly reviewed.