-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Description
Microsoft .NET Framework's RegSvcs.exe (COM+ Services Installation Tool) is being improperly triggered by Google Chrome's renderer processes with the --enable-main-frame-before-activation flag. When launched, RegSvcs.exe holds both DISPLAY and SYSTEM power requests, preventing Windows from entering sleep states or turning off the display. This represents an interoperability issue where a .NET Framework utility designed for COM+ registration is being activated by a browser process and interfering with core OS power management.
Reproduction Steps
Reproduction Steps:
Clean Windows 10/11 installation with latest updates
Install latest Google Chrome (tested with 144.0.7559.110)
Launch Chrome and let it run for 5-10 minutes
Open Command Prompt as Administrator
Run powercfg /requests
Observe output shows:
text
DISPLAY: [PROCESS] \Device\HarddiskVolume3\Windows\Microsoft.NET\Framework\v4.0.30319\RegSvcs.exe
SYSTEM: [PROCESS] \Device\HarddiskVolume3\Windows\Microsoft.NET\Framework\v4.0.30319\RegSvcs.exe
Verification commands:
powershell
Check RegSvcs process and parent
Get-Process -Name RegSvcs | Select-Object Id, Path
$regsvcs = Get-Process -Name RegSvcs
Get-WmiObject Win32_Process -Filter "ProcessId=$($parent.ParentProcessId)" | Select-Object Name, CommandLine
Expected behavior
Expected behavior:
RegSvcs.exe should only run during legitimate .NET/COM+ installation or registration operations
Browser processes should not trigger .NET Framework installation utilities
.NET utilities should not interfere with Windows power management without explicit user intent
If RegSvcs.exe must run, it should either:
Time out after reasonable duration
Release power requests when not performing actual installation
Not be triggered by non-.NET applications like browsers
Actual behavior
Actual behavior:
RegSvcs.exe is spawned by Chrome renderer processes
Process persists indefinitely, holding power requests
System sleep and display timeout functionality are disabled
Manual termination provides only temporary relief; Chrome respawns it
No user notification or error messages about the power management failure
Process chain observed:
text
chrome.exe (main)
└── chrome.exe (renderer) --type=renderer --enable-main-frame-before-activation
└── RegSvcs.exe (C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegSvcs.exe)
Regression?
Regression?
This appears to be a Chrome/.NET interoperability issue rather than a .NET regression. The behavior occurs with:
.NET Framework 4.8+
Clean Windows installations
Latest Chrome versions
No previous Chrome/.NET interaction observed to cause this specific issue
Known Workarounds
Known Workarounds:
Chrome-side: Launch Chrome with --disable-features=EnableMainFrameBeforeActivation
Registry: Set HKCU\Software\Google\Chrome\CommandLineFlags = --disable-features=EnableMainFrameBeforeActivation
Manual: Periodically kill RegSvcs.exe process (temporary)
PowerShell watchdog: Script to monitor and kill Chrome-spawned RegSvcs.exe
Configuration
Configuration:
.NET Version: .NET Framework 4.0.30319 (v4.8+)
OS: Windows 10/11 (tested on Windows 10 10.0.26200.7705)
Architecture: x64
Browser: Google Chrome 144.0.7559.110
Specificity: Only occurs with Chrome; Edge, Firefox unaffected
Clean Environment: Reproducible with fresh Windows + Chrome, no extensions
Other information
Root cause analysis:
Chrome's --enable-main-frame-before-activation renderer optimization appears to trigger .NET Framework interop
RegSvcs.exe is designed for COM+ component registration but is being activated inappropriately
The utility acquires power requests (likely for installation operations) but never releases them
This represents a Chrome/.NET boundary issue where browser optimizations trigger system utilities
Suggested fixes:
.NET Framework: Add check in RegSvcs.exe to detect non-.NET parent processes and exit gracefully
.NET Framework: Implement timeout mechanism for power requests held by RegSvcs.exe
.NET Framework: Add logging when RegSvcs.exe is triggered by unexpected processes
Windows: Consider making RegSvcs.exe sleep-aware or adding power request timeouts
Impact:
High severity: Breaks core Windows power management
Affects all Chrome users on Windows with default settings
Increases energy consumption and battery drain
No user-facing error messages about the failure
Evidence:
Clean system reproduces issue with no malware/extensions
Process is legitimate signed Microsoft .NET binary
Disabling specific Chrome flag resolves issue
Issue persists through Chrome restarts and system reboots
Tags: area-Interop, os-windows, dotnet-framework, power-management, chrome-interop
Metadata
Metadata
Assignees
Labels
Type
Projects
Status