-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Closed
Labels
area-Diagnostics-coreclrenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsin-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged
Milestone
Description
Enabling metadata updater used by hot-reload causes the runtime and libraries to take codepaths conditionalized by MetadataUpdater.IsSupported property. These codepaths receive less thorough testing and have higher risk of containing bugs. #78218 has been an example of such bug.
Metadata updater is automatically enabled when managed debugger is attached and there is no way to suppress it:
runtime/src/coreclr/vm/assemblynative.cpp
Line 1365 in 3dbc850
| result = CORDebuggerAttached() || g_pConfig->ForceEnc() || g_pConfig->DebugAssembliesModifiable(); |
We should add a config switch that unconditionally disables metadata updater and that can be used as a workaround for bugs in hot-reload specific codepaths.
Context: #78218 (comment)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area-Diagnostics-coreclrenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionsin-prThere is an active PR which will close this issue when it is mergedThere is an active PR which will close this issue when it is merged