Normalize moz-extension UUID URIs in diffs

NEW
Unassigned

Status

()

a year ago
4 months ago

People

(Reporter: mccr8, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

a year ago
I have an entry like this in my about:memory report:

compartment(moz-extension://4934f883-3f08-4a47-ad69-2a6efffa9309/, [anonymous sandbox] (from: resource://gre/modules/ExtensionParent.jsm:366))

The UUID or whatever it is should be sanitized when doing a diff.

Comment 1

a year ago
Is the UUID consistent b/w runs? If so I'm not sure we want to remove it as it makes it clear which add-on is responsible for the compartment. Or is it just some random runtime generated uuid?
(Reporter)

Comment 2

a year ago
No, it isn't consistent between runs. For instance this is from a diff of AWSY runs:

│  │  ├──-0.02 MB (-1.64%) ++ compartment(moz-extension://0bc35c98-864b-47cd-a172-274e8480b255/, [anonymous sandbox] (from: resource://gre/modules/ExtensionParent.jsm:366))
│  │  ├──0.02 MB (01.64%) ++ compartment(moz-extension://df251463-934e-4eea-b2e9-7ba577db2361/, [anonymous sandbox] (from: resource://gre/modules/ExtensionParent.jsm:366))

Comment 3

a year ago
(In reply to Andrew McCreight [:mccr8] from comment #2)
> No, it isn't consistent between runs. For instance this is from a diff of
> AWSY runs:
> 

Oh they must be rebuilding an extension? Or does that repro locally too? It would be nice if we could make this optional. For AWSY it definitely makes sense, for normal user reports maybe not.
(Reporter)

Comment 4

a year ago
(In reply to Eric Rahm [:erahm] (please no mozreview requests) from comment #3)
> Oh they must be rebuilding an extension? Or does that repro locally too? It
> would be nice if we could make this optional. For AWSY it definitely makes
> sense, for normal user reports maybe not.

I believe it is an anti fingerprinting measure.
> (In reply to Eric Rahm [:erahm] (please no mozreview requests) from comment #3)
> Oh they must be rebuilding an extension? Or does that repro locally too?

We generate a random URL UUID for each installation of the extension. There's
a separate internal ID which remains the same, though. For the sake of
about:memory and AWSY, it might make sense to mangle the URLs to use the
internal ID instead.

(In reply to Andrew McCreight [:mccr8] from comment #4)
> I believe it is an anti fingerprinting measure.

It's something along those lines, yes. Although there are actually some
circumstances where it makes us more fingerprintable (i.e., when extensions
expose resources to web content in web-visible ways).
You need to log in before you can comment on or make changes to this bug.