Suspected RootDomainUserClient leak in GitHub Copilot for macOS
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 2.1k
- Forks
- 157
- PR merge metrics
- No merged PRs in 30d
Description
Short summary
Suspected RootDomainUserClient leak in GitHub Copilot for macOS
Affected version or release
1.1.15 (com.github.githubapp, executable github)
Installation context
Local installation in /Applications/GitHub.app; macOS 26.6.2 (25G83), Apple silicon
What happened?
After approximately two days, the github process owned 871 of 1,019 system-wide RootDomainUserClient objects. Quitting the app immediately reduced the total from 1,019 to 148.
At 1,019 clients, a standalone probe showed IOServiceOpen(IOPMrootDomain) blocking for 15 seconds and returning 0xe00002c7 (kIOReturnUnsupported). A separate process therefore also failed to open the service during the incident.
The measurements indicate a suspected unbounded power-management client leak. The executable imports IOServiceOpen and IOServiceClose; one hypothesis is that a path opens IOPMrootDomain without closing it, but the exact allocation path and triggering workflow are not yet confirmed.
Steps to reproduce
-
Launch the app and note the
githubprocess PID. -
Periodically run:
ioreg -r -c RootDomainUserClient -l \ | grep -o '"IOUserClientCreator" = "pid [0-9]*, github"' \ | sort | uniq -c -
Observe the client count associated with the process.
-
Quit the app and confirm those clients are released.
Expected behavior
Power-management clients should remain bounded and be released when no longer needed.
Additional context
- Observed before quit: 1,019 total / 871 owned by
github - Observed after quit: 148 total
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported growth with the provided ioreg probe while monitoring the github process, then compare counts after quitting the app. Trace the app's power-management client usage and identify the allocation path; done means clients remain bounded during use and are released when no longer needed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- desktop, operating-systems, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100