Closed Bug 1758416 Opened 2 years ago Closed 2 years ago

Firefox 97+ on Linux fails on some websites with NS_ERROR_STORAGE_CONSTRAINT

Categories

(Core :: Storage: localStorage & sessionStorage, defect, P2)

Firefox 97
defect

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox98 --- wontfix
firefox99 --- wontfix
firefox100 --- wontfix
firefox101 --- fixed
firefox102 --- fixed

People

(Reporter: flubba86, Assigned: janv)

References

Details

(Keywords: regression)

Attachments

(3 files)

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0

Steps to reproduce:

In Firefox versions 97.0.1 and 97.0.2, on Linux, some websites fail to load correctly, showing an error in console beginning with NS_ERROR_STORAGE_CONSTRAINT.

For me, this is only affecting my organisation's internal Jira app (v8.13.13).
But I've seen reports from others this same bug in 97.0.1 is affecting New Reddit, and some other sites.

Similar reports (discussed on reddit):
https://www.reddit.com/r/bugs/comments/szdbyv/reddit_stop_loading_the_page_on_linux_firefox_x86/

https://www.reddit.com/r/bugs/comments/syme4s/comment/hxyw2dq/?utm_source=share&utm_medium=web2x&context=3

Firefox v96 and before are unaffected, the page works fine in those versions.
Firefox v97 on Windows works fine, this only affects firefox v97 on Linux.

Possibly related to https://bugzilla.mozilla.org/show_bug.cgi?id=1636622

Actual results:

Uncaught
Exception { name: "NS_ERROR_STORAGE_CONSTRAINT", message: "", result: 2153971715, filename: "https://jira.myorg.au/s/61a9217e8f5318f6791fec796b4aece3-CDN…n_condition=true&jag=true&locale=en-AU&samlLoginButton=false", lineNumber: 6, columnNumber: 0, data: null, stack: "b.get@https://jira.myorg.au/s/61a9217e8f5318f6791fec796b4aece3-CDN/-231nnh/813013/11d3k39/ce092865f0aeb206bb9d696ad0632a44/_/download/contextbatch/js/atl.general,jira.global,jira.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&locale=en-AU&samlLoginButton=false:6:59\nl@https://jira.myorg.au/s/61a9217e8f5318f6791fec796b4aece3-CDN/-231nnh/813013/11d3k39/ce092865f0aeb206bb9d696ad0632a44/_/download/contextbatch/js/atl.general,jira.global,jira.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&locale=en-AU&samlLoginButton=false:25:304\n@https://jira.myorg.au/s/61a9217e8f5318f6791fec796b4aece3-CDN/-231nnh/813013/11d3k39/ce092865f0aeb206bb9d696ad0632a44/_/download/contextbatch/js/atl.general,jira.global,jira.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&locale=en-AU&samlLoginButton=false:30:22\ndispatch@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:54:35123\nadd/v.handle@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:54:33212\nEventListener.handleEvent*add@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:54:33674\nc.event.add@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:76:2645\nle/<@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:54:32904\neach@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:43:1306\neach@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:39:999\nle@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:54:32880\non@https://jira.myorg.au/s/96379b16f58fb2e6354f702b7ce7207c-CDN/-231nnh/813013/11d3k39/16db8a132387113ea21f21fadd46985e/_/download/contextbatch/js/_super/batch.js?locale=en-AU:54:38751\n@https://jira.myorg.au/s/61a9217e8f5318f6791fec796b4aece3-CDN/-231nnh/813013/11d3k39/ce092865f0aeb206bb9d696ad0632a44/_/download/contextbatch/js/atl.general,jira.global,jira.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&locale=en-AU&samlLoginButton=false:29:445\n@https://jira.myorg.au/s/61a9217e8f5318f6791fec796b4aece3-CDN/-231nnh/813013/11d3k39/ce092865f0aeb206bb9d696ad0632a44/_/download/contextbatch/js/atl.general,jira.global,jira.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&locale=en-AU&samlLoginButton=false:30:387\n" }
batch.js:6

Expected results:

Firefox should render these pages correctly, as it did prior to v97.

Steps tried to fix the issue:

Cleared my session storage and cookies for the affected sites
Started in incognito mode
Launched firefox with a new profile
Wiped my ~/.mozilla directory
Wiped ~/.cache/mozilla

All attempts, the bug remained.

Update:
I think I fixed the symptoms on my end.

I clicked "Clear cookies and site data" from the page dropdown in firefox. Then refreshed and re-logged into the site, and its working fine now in Firefox v97 on Linux.

I don't know how that is different than running in Private window mode, or manually clearing the session storage, cookies, and localstorage for that site. But it seemed to be the only thing that worked.

Component: Untriaged → Storage: localStorage & sessionStorage
Product: Firefox → Core

Jan, Jari, this sounds pretty bad.
Wasn't there some changes to this relevant code recently?

Could you set priority/severity fields?

Flags: needinfo?(jvarga)
Flags: needinfo?(jjalkanen)

Do you see any mention of QM_TRY in the browser console ?

Flags: needinfo?(jvarga)

(In reply to Jan Varga [:janv] from comment #5)

Do you see any mention of QM_TRY in the browser console ?

Assuming this question goes to Ashley.

Flags: needinfo?(flubba86)

(In reply to Jan Varga [:janv] from comment #5)

Do you see any mention of QM_TRY in the browser console ?

Unfortunately I can no longer replicate this error.

I've just double checked my screencaps from the incident. And from that I can read in the console, there is no mention of QM_TRY in any of the output.

Flags: needinfo?(flubba86)

Dear All, this happens with Firefox98 on Linux also

Summary: Firefox 97 on Linux fails on some websites with NS_ERROR_STORAGE_CONSTRAINT → Firefox 97+ on Linux fails on some websites with NS_ERROR_STORAGE_CONSTRAINT

Do you see any mention of QM_TRY in the browser console ?

Flags: needinfo?(webtoday)
Attached file Full console log
(In reply to Ashley from comment #3)
> Update:
> I think I fixed the symptoms on my end.
> 
> I clicked "Clear cookies and site data" from the page dropdown in firefox. Then refreshed and re-logged into the site, and its working fine now in Firefox v97 on Linux.
> 
> I don't know how that is different than running in Private window mode, or manually clearing the session storage, cookies, and localstorage for that site. But it seemed to be the only thing that worked.

Hi same problem and same resolution on Reddit unusable here With FF 98 (GNU/Linux).

Similar problem on this link:
https://www.hilti.fr/c/CLS_FASTENER_7135/CLS_SCREW_ANCHORS_7135/r2523586
Severity: -- → S1
Priority: -- → P1
Status: UNCONFIRMED → NEW
Ever confirmed: true

So the last log contains:

ERROR Error: Uncaught (in promise): [Exception... "SQLite database operation failed because a constraint was violated"  nsresult: "0x80630003 (NS_ERROR_STORAGE_CONSTRAINT)"  location: "JS frame :: https://www.hilti.fr/static/ui/contents/R2022-12-HF1/main-es2015.js :: getItem :: line 79"  data: no]

which would mean, we fail on getItem. I assume, this means we fail during lazy QM initialization, not the getItem itself as that is just reading from the DB and NS_ERROR_STORAGE_CONSTRAINT can happen only during write. But if we fail during initialization I would expect some QM_TRY error message here in the log?

Severity: S1 → S2
Priority: P2 → --
Priority: -- → P2
See Also: → 1761960

One of my addons in one of my profiles on Win 10 is now affected by this issue.
What fails is the localStorage - every operation called on this API will result in error, including localStorage.clear(), which would be nice to have as a fail-safe.

13:14:33.246 localStorage.clear()
13:14:33.278
Uncaught 
Exception { name: "NS_ERROR_STORAGE_CONSTRAINT", message: "", result: 2153971715, filename: "debugger eval code", lineNumber: 1, columnNumber: 0, data: null, stack: "@debugger eval code:1:14\n" }

What's interesting is that all other storages I use are working fine, including IndexedDB, browser.storage.local and browser.storage.sync.

We're using code on our website that calls localStorage.setItem('some_key', Date.now().toString()) in a debounced function (via underscore) every 1000ms. Our bug reporting system is seeing the browser error show up. Can confirm we're seeing users with Firefox 99.0.0 experiencing this, in Mac OS X and Windows:

[Exception... "SQLite database operation failed because a constraint was violated" nsresult: "0x80630003 (NS_ERROR_STORAGE_CONSTRAINT)" location: "JS frame :: https://[removed]/app.bundle.js :: t :: line 26" data: no]

Cannot comment on the user experience however, whether it's silent or it causes their browser to crash or anything inbetween.

(In reply to juraj.masiar from comment #14)

One of my addons in one of my profiles on Win 10 is now affected by this issue.

Hi! If this reproduces 100% for you it would be great if you can keep a copy/backup of the affected profile. And do you see anything in the console log before this happens?

Let me clarify.
It's my testing profile I haven't opened a long time - like a few months.
I use web-ext with a --firefox-profile parameter to select the testing profile and it will copy it and start my addon in it.
And that will break it 100% times. And now I can see it breaks also on my home PC where I also haven't used the testing profile in a while.
And my normal profile on my testing Mac Mini - which I (again) haven't used in a while is also affected by this problem.

So I'm pretty confident that this problem is related to a broken migration from some older version into current one.
Sadly I can't share my profile because it's full of passwords.
But if you can install some old Firefox and then upgrade it to new, it should break the storage, at least everything I see here points to that.

Regarding the logs, the error is visible in the Web Console and there is nothing before, it's the very first error.
And this is everything from a browser console right after starting the profile with a web-ext:

21:14:22.554
Warning: unrecognized command line flag -foreground
BrowserContentHandler.jsm:1064
21:14:23.059
formatURLPref: Couldn't get pref: startup.homepage_override_url URLFormatter.jsm:168
21:14:23.180 This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
sanitytest.html
21:14:23.180
Error: Can't find profile directory. XULStore.jsm:66:15
21:14:23.772 This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
hiddenWindow.html
21:14:24.055 1649790864055	addons.xpi	WARN	Addon with ID admin@fastaddons.com_GroupSpeedDial already installed, older version will be disabled
21:14:24.056
Message manager was disconnected before receiving Extension:ExtensionViewLoaded ExtensionParent.jsm:1614
21:14:24.105 This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
index.html
21:14:24.160
1649790864160	addons.webextension.browsec@browsec.com	ERROR	Loading extension 'browsec@browsec.com': proxy-error before extension startup: Error: listener not re-registered 3 Log.jsm:723
21:14:24.161
1649790864161	addons.webextension.browsec@browsec.com	ERROR	Loading extension 'browsec@browsec.com': proxy-error before extension startup: Error: listener not re-registered 4 Log.jsm:723
21:14:24.162
1649790864162	addons.webextension.browsec@browsec.com	ERROR	Loading extension 'browsec@browsec.com': proxy-error before extension startup: Error: listener not re-registered Log.jsm:723
21:14:24.176
Error: Please use $(ref:runtime.lastError). background.js:52
21:14:24.212 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.212 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.252
Error: Please use $(ref:runtime.getURL). backgroundLogic.js:25
21:14:24.260 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.260 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.311 The Components object is deprecated. It will soon be removed. regex.js:12:20
21:14:24.325 This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
webextension-fallback.html
21:14:24.326
Error: Can't find profile directory. XULStore.jsm:66:15
21:14:24.327 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.327 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.328 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.328 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.328 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.328 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.328 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.328 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.339 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 chrome:511:24
21:14:24.339 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). chrome:62:22
21:14:24.339 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 chrome:511:24
21:14:24.339 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). chrome:62:22
21:14:24.351 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.351 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.352 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.352 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.352 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.353 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.361
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _onRequestHeader resource://devtools/server/actors/network-monitor/network-observer.js:757
    observeActivity resource://devtools/server/actors/network-monitor/network-observer.js:642
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:24.530 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 chrome:511:24
21:14:24.530 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). chrome:62:22
21:14:24.554
Error: Please use $(ref:runtime.getURL). backgroundLogic.js:25
21:14:24.555 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.555 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.555 Failed to add session data entry for frame targets in browsing context 111 DevToolsFrameParent.jsm:90:15
21:14:24.555 Error: No target actor for this Watcher Actor ID:"server0.conn0.watcher48" / BrowserId:undefined
    _addSessionDataEntry resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:552
    receiveMessage resource://devtools/server/connectors/js-window-actor/DevToolsFrameChild.jsm:465
DevToolsFrameParent.jsm:94:15
21:14:24.565 TypeError: NetworkError when attempting to fetch resource. 5
21:14:24.566 uncaught exception: Object
21:14:24.566 TypeError: NetworkError when attempting to fetch resource. 5
21:14:24.568 uncaught exception: Object
21:14:24.568 AbortError: The operation was aborted. background.js:14768
21:14:24.568 Error: background.js:14809:43
21:14:24.568 AbortError: The operation was aborted. 2 background.js:14768
21:14:24.568 Error: background.js:14809:43
21:14:24.636 QM_TRY failure (ERROR): 'Unavailable failed with resultCode 0x80630003, resultName NS_ERROR_STORAGE_CONSTRAINT, context dom::localstorage::FirstOriginInitializationAttempt::Datastore', file dom/localstorage/ActorsParent.cpp:7164
21:14:24.729 TypeError: can't access property "feature", metadata.branch is undefined
ExperimentStore.jsm:127:7
21:14:24.832
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _httpResponseExaminer resource://devtools/server/actors/network-monitor/network-observer.js:388
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:24.970
1649790864969	app.normandy.recipe-runner	ERROR	Could not execute recipe Opt-out - Pioneer Enrollment Study (Bug 1382761):: Action opt-out-study is either missing or invalid. Log.jsm:723
21:14:24.983
1649790864983	app.normandy.recipe-runner	ERROR	Could not execute recipe Pref Flip: Geolocation OS API for <=60, Windows [bug 1527748]:: Action preference-experiment is either missing or invalid. Log.jsm:723
21:14:24.995
1649790864995	app.normandy.recipe-runner	ERROR	Could not execute recipe Pref Flip: Geolocation OS API for <=60, Mac [bug 1527748]:: Action preference-experiment is either missing or invalid. Log.jsm:723
21:14:25.023
1649790865023	app.normandy.recipe-runner	ERROR	Could not execute recipe Pref Flip: Geolocation OS API for <=60, Linux [bug 1527748]:: Action preference-experiment is either missing or invalid. Log.jsm:723
21:14:25.048
1649790865047	app.normandy.recipe-runner	ERROR	Could not execute recipe Hotfix: Office 365 Legacy Keycode And Charcode:: Action preference-experiment is either missing or invalid. Log.jsm:723
21:14:25.061
1649790865060	app.normandy.recipe-runner	ERROR	Could not execute recipe Pref-Flip Study: Activity Stream CFR Pinned Tabs - Treatment [Bug 1536650]:: Action preference-experiment is either missing or invalid. Log.jsm:723
21:14:25.077 An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations. blank
21:14:25.085 This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
full-emoji-modifiers.html
21:14:25.123 Loading failed for the <script> with source “https://www.googletagmanager.com/gtag/js?id=UA-19876713-1”. full-emoji-modifiers.html:4:1
21:14:25.135 XrayWrapper denied access to property "matches" (reason: value is callable). See https://developer.mozilla.org/en-US/docs/Xray_vision for more information. Note that only the first denied property access from a given global object will be reported.
21:14:25.193 AbortError: The operation was aborted. 4 background.js:14768
21:14:25.193 Error: background.js:14809:43
21:14:25.202 AbortError: The operation was aborted. 4 background.js:14768
21:14:25.202 Error: background.js:14809:43
21:14:25.539
Some cookies are misusing the “SameSite“ attribute, so it won’t work as expected 4
21:14:25.778 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 chrome:511:24
21:14:25.778 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). chrome:62:22
21:14:26.635 Key event not available on some keyboard layouts: key=“i” modifiers=“accel,alt,shift” id=“key_browserToolbox” browser.xhtml
21:14:26.635 Key event not available on some keyboard layouts: key=“h” modifiers=“accel,alt” id=“” browser.xhtml
21:14:26.715 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 chrome:511:24
21:14:26.715 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). chrome:62:22
21:14:26.770 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). 2 chrome:511:24
21:14:26.770 Content Security Policy: The page’s settings blocked the loading of a resource at inline (“default-src”). chrome:62:22
21:14:27.359
Error: Please use $(ref:runtime.getURL). background.js:31
21:14:28.181
Error: Please use $(ref:runtime.getURL). backgroundLogic.js:25
21:14:29.825
<unavailable> ThreadSafeDevToolsUtils.js:82:13
21:14:29.834
sendRemoveListener on closed conduit browsec@browsec.com.274877906978 ConduitsChild.jsm:112
21:14:29.943 This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”.
2 AddonRepository.jsm:97:12
21:14:30.209
Error: Please use $(ref:runtime.getURL). utils.js:1
21:14:30.225
Error: Please use $(ref:runtime.getURL). background_ts.js:1
21:14:30.274
Error: Could not establish connection. Receiving end does not exist. background_ts.js:1:3212
21:14:30.275
Error: Could not establish connection. Receiving end does not exist. 2 background_ts.js:1:3285
21:14:30.304
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _onRequestHeader resource://devtools/server/actors/network-monitor/network-observer.js:757
    observeActivity resource://devtools/server/actors/network-monitor/network-observer.js:642
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:30.430
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _httpResponseExaminer resource://devtools/server/actors/network-monitor/network-observer.js:388
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:30.452
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _httpStopRequest resource://devtools/server/actors/network-monitor/network-observer.js:303
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:30.496
Error: Could not establish connection. Receiving end does not exist. 2 background_ts.js:1:3285
21:14:31.174
Error: Could not establish connection. Receiving end does not exist. background_ts.js:1:3285
21:14:31.499
Error: Could not establish connection. Receiving end does not exist. background_ts.js:1:3285
21:14:32.363
Sync encountered an error - see about:sync-log for the log file. policies.js:963
21:14:32.656
Error: Please use $(ref:runtime.getURL). background.js:31
21:14:52.031
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _httpStopRequest resource://devtools/server/actors/network-monitor/network-observer.js:303
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:55.067
Type error for parameter details (Error processing tabId: Integer -1 is too small (must be at least 0)) for browserAction.setBadgeText. toolbar.js:10
21:14:55.165
GEThttps://www.shudder.com/series/watch/creepshow/e1c7254a5ed4de4b?season=1
[HTTP/2 403 Forbidden 511ms]

21:14:55.166
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _onRequestHeader resource://devtools/server/actors/network-monitor/network-observer.js:757
    observeActivity resource://devtools/server/actors/network-monitor/network-observer.js:642
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:55.677
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _httpResponseExaminer resource://devtools/server/actors/network-monitor/network-observer.js:388
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:55.697
TypeError: can't access property "addonId", channel.loadInfo.loadingPrincipal is null
    matchRequest resource://devtools/server/actors/network-monitor/utils/network-utils.js:363
    _httpStopRequest resource://devtools/server/actors/network-monitor/network-observer.js:303
    makeInfallible resource://devtools/shared/ThreadSafeDevToolsUtils.js:103
ThreadSafeDevToolsUtils.js:82:13
21:14:55.698 An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations. 2 blank
Assignee: nobody → jvarga
Status: NEW → ASSIGNED
Webcompat Priority: --- → ?

This might be a profile-related browser bug or something similar, but we don't have any evidence that this is a WebCompat issue.

Webcompat Priority: ? → ---
Attachment #9274830 - Attachment description: Bug 1758416 - Add test; r=#dom-storage → Bug 1758416 - Don't tranform empty strings into null blobs during migration; r=#dom-storage

There's a patch now which is being reviewed. The regression should be fixed soon.
We'll try to uplift the patch to beta as well.

Flags: needinfo?(jjalkanen)

@janv, is this gonna fix existing broken storage or just prevent the bug?

The storage shouldn't be broken, the code which handles migration from old data didn't handle this special case.

See Also: → 1768440
Pushed by jvarga@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8c148ff33973
Don't tranform empty strings into null blobs during migration; r=dom-storage-reviewers,jstutte
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

The patch landed in nightly and beta is affected.
:janv, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(jvarga)

Comment on attachment 9277104 [details]
Bug 1758416 - Don't tranform empty strings into null blobs during migration; r=#dom-storage

Beta/Release Uplift Approval Request

  • User impact if declined: Users would still experience not working localStorage in some cases.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It's been 2 weeks since the fix landed on Nightly, no regressions were reported and the change is rather small.
  • String changes made/needed: None
  • Is Android affected?: Unknown
Flags: needinfo?(jvarga)
Attachment #9277104 - Flags: approval-mozilla-beta?

Comment on attachment 9277104 [details]
Bug 1758416 - Don't tranform empty strings into null blobs during migration; r=#dom-storage

Approved for 101.0b9.

Attachment #9277104 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

as a user, you can use this to clear the data of specific sites that are broken:
https://support.mozilla.org/en-US/kb/storage

I am not sure the proposed fix will take care of data that was already corrupted during migration.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: