Temporary Extensions UUID not cleaned up in extensions.webextensions.uuids
Categories
(WebExtensions :: General, defect, P5)
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
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Is this only happening on Android or also reproducible on Desktop?
Updated•6 years ago
|
| Reporter | ||
Comment 2•6 years ago
|
||
Reproduces on all platforms. This is the STR:
E.g. install temporary extension, restart firefox, check pref value, the UUID is still there.
Comment 3•6 years ago
|
||
@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.
Comment 4•1 year ago
|
||
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.keepUuidOnUninstallis true, exit early. - Enumerate the IDs in
extensions.webextensions.uuids. If the listed add-on is unknown to the add-on database, runExtensionAddonObserver.clearOnUninstallfor that extension ID.
Description
•