Open Bug 1639978 Opened 6 years ago Updated 1 year ago

Temporary Extensions UUID not cleaned up in extensions.webextensions.uuids

Categories

(WebExtensions :: General, defect, P5)

defect

Tracking

(Not tracked)

People

(Reporter: agi, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxr])

We noticed that temporary extensions UUID are not removed from extensions.webextensions.uuids after restarting the application.

E.g. install temporary extension, restart firefox, check pref value, the UUID is still there.

This is a problem because until very recently Android browsers would install a temporary extension at every startup with a random ID, causing the IDs to accumulate. In a bug report we have a value that is 50k characters long.

It would be nice if temporary UUIDs could be garbage collected.

original bug report: https://github.com/MozillaReality/FirefoxReality/issues/3410

Whiteboard: [fxr]

Is this only happening on Android or also reproducible on Desktop?

Severity: -- → S3
Flags: needinfo?(agi)
Flags: needinfo?(mixedpuppy)

Reproduces on all platforms. This is the STR:

E.g. install temporary extension, restart firefox, check pref value, the UUID is still there.

Flags: needinfo?(agi)

@agi are these temporary installed addons uninstalled on shutdown? That is the only time that the uuid is removed from the map. In any case, if this is fixed, it's low prio to address at this point.

Flags: needinfo?(mixedpuppy)
Priority: -- → P5

On Android, Firefox does typically not quit (but just killed), so shutdown tasks are not run.

We should really run a cleanup task; there have been bugs (see dependencies of bug 1363464) that result in the accumulation of uuids (and profile data...). In the worst case, a user cannot install extensions any more. Before that point is reached, a user can also experience a degraded performance (memory usage, storage size).

Logic could be something like this:

  • If extensions.webextensions.keepUuidOnUninstall is true, exit early.
  • Enumerate the IDs in extensions.webextensions.uuids. If the listed add-on is unknown to the add-on database, run ExtensionAddonObserver.clearOnUninstall for that extension ID.
Blocks: 1363464
You need to log in before you can comment on or make changes to this bug.