-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Revert "Replace CordbProcess::GetSharedDomain
with GetAppDomain
"
#117221
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
Conversation
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
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.
Pull Request Overview
Reverts previous PR (#117037) that replaced thread-specific domain lookup with a single-domain model, restoring per-thread GetCurrentAppDomain
behavior and introducing a shared default AppDomain fallback.
- Updated
IDacDbiInterface
and its implementation to take avmThread
parameter forGetCurrentAppDomain
. - Modified all callers in
CordbThread
,CordbProcess
, and related classes to pass their thread token. - Added
GetSharedAppDomain
,m_sharedAppDomain
fallback, andUpdateThreadsForAdUnload
to manage default domain unloading and thread cleanup.
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
src/coreclr/debug/inc/dacdbiinterface.h | Changed GetCurrentAppDomain to accept a vmThread argument. |
src/coreclr/debug/di/rsthread.cpp | Updated calls to GetCurrentAppDomain with vmThread . |
src/coreclr/debug/di/rspriv.h | Adjusted CacheAssembly overload signatures; renamed GetAppDomain . |
src/coreclr/debug/di/rsappdomain.cpp | Refactored assembly caching/removal to use VMPTR_DomainAssembly . |
src/coreclr/debug/di/process.cpp | Added m_sharedAppDomain , GetSharedAppDomain , and thread cleanup. |
src/coreclr/debug/di/module.cpp | Fallback to GetSharedAppDomain when no DomainAssembly is available. |
src/coreclr/debug/daccess/dacdbiimpl.h/.cpp | Added thread-parameter overload for GetCurrentAppDomain . |
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.
Thanks. I only tried VS and SOS unit tests as basic testing, which apparently don't go down the broken path. Clearly needed windbg too.
#117221 is the fix for assemblies not being found in the cache. Assuming this goes in first, I'll update that to be the revert of the revert. |
…otnet#117037)" (dotnet#117221) This reverts commit a3929e2.
Reverts #117037 This breaks debugging basics.
Notably, enumerating the list of assemblies results in an infinite loop as it builds more and more CorDbAssembly objects.