Closed
Bug 1484968
Opened 7 years ago
Closed 5 years ago
Sync errors: extension-storage fails with "Insufficient Storage"
Categories
(WebExtensions :: Storage, defect, P3)
WebExtensions
Storage
Tracking
(firefox78 fixed, firefox79 fixed)
RESOLVED
FIXED
People
(Reporter: nchevobbe, Unassigned)
References
Details
It's been a couple weeks now since I'm getting those sync errors notifications.
I see the following in the latest error-sync-*.txt file:
> Sync.Engine.Extension-Storage ERROR Syncing side-view@mozilla.org: request failed: Error: HTTP 507 Insufficient Storage: Resource access is forbidden for this user (Maximum bytes per object exceeded (17319 > 16384 Bytes.)(resource://services-common/kinto-http-client.js:2341:5) JS Stack trace: ServerResponse@kinto-http-client.js:2341:5
> processResponse@kinto-http-client.js:2469:13
> Sync.Engine.Extension-Storage WARN Syncing failed: Error: HTTP 507 Insufficient Storage: Resource access is forbidden for this user (Maximum bytes per object exceeded (17319 > 16384 Bytes.)(resource://services-common/kinto-http-client.js:2341:5) JS Stack trace: ServerResponse@kinto-http-client.js:2341:5
> processResponse@kinto-http-client.js:2469:13
> Sync.Status DEBUG Status for engine extension-storage: error.engine.reason.unknown_fail
> Sync.Status DEBUG Status.service: success.status_ok => error.sync.failed_partial
> Sync.ErrorHandler DEBUG extension-storage failed: Error: HTTP 507 Insufficient Storage: Resource access is forbidden for this user (Maximum bytes per object exceeded (17319 > 16384 Bytes.)(resource://services-common/kinto-http-client.js:2341:5) JS Stack trace: ServerResponse@kinto-http-client.js:2341:5
> processResponse@kinto-http-client.js:2469:13
I can provide the raw file if needed (I don't know if there's sensitive data in there)
Updated•7 years ago
|
Component: Firefox Sync: Backend → Storage
Product: Cloud Services → WebExtensions
Summary: Sync errors: extension-storage failed → Sync errors: extension-storage fails with "Insufficient Storage"
Comment 1•7 years ago
|
||
It looks like the side-view extension exceeds the `QUOTA_BYTES_PER_ITEM` limit, which is 8k in Chrome but is more for us because we store a base64'd encrypted version.
Comment 2•7 years ago
|
||
NI Luca to see if he can find a cause so we can triage priority.
Flags: needinfo?(lgreco)
Comment 3•7 years ago
|
||
It looks like side-view is using the storage.sync API only in two places:
- to store the recent visited tabs: https://github.com/mozilla/side-view/blob/e78a7866fa50a942d430ea56e555c941e53ecbbd/addon/background.js#L257,
which is already capped to a maximum number of 5 tabs (https://github.com/mozilla/side-view/blob/e78a7866fa50a942d430ea56e555c941e53ecbbd/addon/background.js#L23)
- to store which hosts should be in desktop mode when opened in the sidebar: https://github.com/mozilla/side-view/blob/e78a7866fa50a942d430ea56e555c941e53ecbbd/addon/background.js#L235
This last one item is not sliced and so I guess that it would be the one that could more easily trigger the issue that Ethan described in comment 1.
I filed an issue in the side-view repo (https://github.com/mozilla/side-view/issues/328), to make them aware of this syncing issue and what may be triggering.
On the Firefox side, at a first glance it seems that the extension may not receive an error when the client sync request fails because the server reports the insufficient storage error.
I'm wondering if on Chrome is reporting to the extension an error when the storage.sync.set is called with an item that exceeds the quota limit,
given that we are already getting the size of the items for the telemetry (https://searchfox.org/mozilla-central/rev/a41fd8cb947266ea2e3f463fc6e31c88bfab9d41/toolkit/components/extensions/ExtensionStorageSync.jsm#1122) it seems that we could check if the item exceeds the quota and reject the API call.
Flags: needinfo?(lgreco)
Updated•7 years ago
|
See Also: → https://github.com/mozilla/side-view/issues/328
Updated•7 years ago
|
Flags: needinfo?(lgreco)
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Updated•6 years ago
|
Flags: needinfo?(lgreco)
Comment 7•6 years ago
|
||
I'm reopening this bug and leave it as a bug depending from Bug 1311516 (instead of being resolved as a dupe).
Status: RESOLVED → REOPENED
Priority: -- → P3
Resolution: DUPLICATE → ---
Comment 9•5 years ago
|
||
Client-side quota has been introduced along with the new rust-based storage.sync implementation.
Status: REOPENED → RESOLVED
Closed: 7 years ago → 5 years ago
Resolution: --- → FIXED
Comment 10•5 years ago
|
||
Fixed by bug 1637166 and enable in bug 1634615.
status-firefox78:
--- → fixed
status-firefox79:
--- → fixed
You need to log in
before you can comment on or make changes to this bug.
Description
•