Open Bug 1797856 Opened 3 years ago Updated 1 year ago

Report injected dlls in about:support to make it easier to debug issues with game overlays

Categories

(Core :: Graphics: WebRender, task)

Desktop
Windows 11
task

Tracking

()

People

(Reporter: ahale, Unassigned)

References

(Blocks 2 open bugs)

Details

Injected dlls may have significant interactions with the graphics stack (affecting memory usage and causing new bugs), we should list them in about:support so that we can debug more easily when a game overlay (or tool like Flux, or OBS) is hooking the graphics code. Currently injected dlls are only listed in crash reports.

An example is that a game overlay may create a DirectComposition surface for each of our page tiles (DCLayerTree code) so that it can display content over the browser, doubling browser memory usage when they are inactive, this may show up primarily in dwm.exe at idle (and in bug #1746174 we see that it might also leak memory).

Type: defect → task

It might be good to start with a specific DLL that we want to detect so that we can come up with a detection mechanism that doesn't have too many false positives.

Could the detection mechanism used in about:third-party be reused?

This is really the entire point behind about:third-party.

See bug 1669036 which already did this, but removed again in bug 1713855. IIRC having it in about:support wasn't particularly liked by UX: https://phabricator.services.mozilla.com/D93832#3197758. Although if there's particular DLL/type-of-module presences you want to highlight I imagine a much smaller visible entry would work.

Another reason for having a separate page was that we wanted to surface which DLLs caused crashes and offer functionality to block them (in development in bug 1744362).

Could the detection mechanism used in about:third-party be reused?

Note the code you link to is just the part using the registry to get user-understandable names and classes for the actual DLLs loaded (Maybe you can tell apart the ones doing game overlays similarly?). The actual module information is all in the third-party modules telemetry pings (https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/data/third-party-modules-ping.html). The implementation bugs (e.g. bug 1435827 and follow-ups) are all linked at the bottom of that page.

Blocks: wr-todos
You need to log in before you can comment on or make changes to this bug.