Bug 1779570 - Firefox 71 breaks many extensions - can't write to local storage
Summary: Firefox 71 breaks many extensions - can't write to local storage
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Martin Stransky
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1779082 1779762 1779809 1780960 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-12-04 09:42 UTC by Vít Ondruch
Modified: 2019-12-27 13:29 UTC (History)
63 users (show)

Fixed In Version: firefox-71.0-15.fc31 firefox-71.0-15.fc30 firefox-master-3120191220120626.1
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-12-12 01:54:40 UTC


Attachments (Terms of Use)
Error log on console (16.67 KB, text/plain)
2019-12-09 03:55 UTC, hacrot3000
no flags Details


Links
System ID Priority Status Summary Last Updated
Github Drive4ik simple-tab-groups issues 500 'None' 'open' 'STG completely broken after upgrade to Firefox 71' 2019-12-09 15:43:53 UTC
Github EFForg privacybadger issues 2474 'None' 'open' '"An unexpected error occurred" in Firefox Nightly 2019-09-28' 2019-12-05 13:43:19 UTC
Mozilla Foundation 1601365 -- RESOLVED browser.storage.local.set throw "An unexpected error occurred" in linux 2020-01-01 12:40:32 UTC
Mozilla Foundation 1601424 -- RESOLVED Firefox 71 unable to write to extension storage 2020-01-01 12:40:33 UTC
Mozilla Foundation 1601707 P2 ASSIGNED segfault in DoDatabaseWork (this makes Firefox 71 to crash at startup) 2020-01-01 12:40:33 UTC

Description Vít Ondruch 2019-12-04 09:42:26 UTC
Description of problem:
Since FF71, the Brief extension does not show the feeds. First I thought the Brief DB is corrupted, but after FF downgrade, the Brief works just fine. In console, I cen see errors such as:

~~~
Error: WebExtension context not found! ExtensionParent.jsm:1229:13
ConstraintError: A mutation operation in the transaction failed because a constraint was not satisfied. ExtensionStorageIDB.jsm:812
    normalizeStorageError resource://gre/modules/ExtensionStorageIDB.jsm:812
    method chrome://extensions/content/child/ext-storage.js:273
    AsyncFunctionThrow self-hosted:695
ConstraintError: A mutation operation in the transaction failed because a constraint was not satisfied. ExtensionStorageIDB.jsm:812
    normalizeStorageError resource://gre/modules/ExtensionStorageIDB.jsm:812
    method chrome://extensions/content/child/ext-storage.js:273
    AsyncFunctionThrow self-hosted:695
IndexedDB UnknownErr: ActorsParent.cpp:613
~~~


Version-Release number of selected component (if applicable):
firefox-71.0-8.npgo.fc32.x86_64

How reproducible:


Steps to Reproduce:
1. Install Brief extension and add some feed.
2. The number of feed entries is visible, but the entries not.
3.

Actual results:
Brief extension does not show the feed entries.


Expected results:
Brief extension show feed entries.


Additional info:
I have reported this issue to Brief upstream [2], but FF should not break extensions. Any hint how to resolve this issue would be helpful.


[1] https://addons.mozilla.org/en-US/firefox/addon/brief/
[2] https://github.com/brief-rss/brief/issues/480

Comment 1 Martin Stransky 2019-12-04 10:13:26 UTC
Can you please test upstream binary? (https://fedoraproject.org/wiki/How_to_debug_Firefox_problems?rd=Bug_info_Firefox#Testing_Mozilla_binaries)
If it's also broken there it should be moved upstream as we generally don't handle general extension breakage.

Comment 2 Vít Ondruch 2019-12-04 11:01:56 UTC
(In reply to Martin Stransky from comment #1)
> Can you please test upstream binary?

Interestingly, it works with upstream binary.

Comment 3 Martin Stransky 2019-12-04 14:49:58 UTC
I tested the extension with my Firefox 71 on Fedora but it works. Maybe some profile corruption or so?

Comment 4 Vít Ondruch 2019-12-04 15:08:58 UTC
When I get back to FF70, the extension works, it does not work in F71. I think that something changed on storage side, not sure what :(

I could share the DB, there is nothing secret if it helps (but it has 90 MB :/ ).

Comment 5 Vít Ondruch 2019-12-04 15:09:50 UTC
And as I said, it work with upstream FF, but not with Fedora FF.

Comment 6 Martin Stransky 2019-12-05 07:56:08 UTC
I see, Bug 1779082 may be related then.

Comment 7 Martin Stransky 2019-12-05 08:00:18 UTC
Bug 1779762 is a similar one for Lastpass.

Comment 8 Martin Stransky 2019-12-05 08:01:16 UTC
btw. can you test firefox-x11 package? It runs on X11 instead of on Wayland.

Comment 9 Vít Ondruch 2019-12-05 09:36:12 UTC
There is no difference with firefox-x11, IOW it doesn't work.

~~~
$ rpm -q firefox* -a
firefox-71.0-8.npgo.fc32.x86_64
firefox-x11-71.0-8.npgo.fc32.x86_64
~~~

Comment 10 Vít Ondruch 2019-12-05 09:38:13 UTC
BTW this is Brief upstream response from my ticket:

> tanriol commented 22 hours ago
>
> You may want to test with the Fedora binary, but still in a new profile. If it works, this may be some kind of profile corruption problem - these do happen in Firefox sometimes, especially on upgrades.
>
> tanriol commented 22 hours ago
> 
> The traceback here is not Brief-specific - this is not the Brief IDB instance, but the one Firefox uses internally for extension's storage.local storage area. Brief does use that one as a backup and assumes that is does work without problems.

Comment 11 Kamil Páral 2019-12-05 11:39:48 UTC
Here's a report of Simple Tab Groups breaking with Firefox 71:
https://github.com/Drive4ik/simple-tab-groups/issues/500

And here is the root cause reported upstream:
https://bugzilla.mozilla.org/show_bug.cgi?id=1601365

I guess all these extensions will break due to the same issue. It doesn't seem to affect all distributions, though. There's an Arch user claiming he has no issues.

Comment 12 Gerard Ryan 2019-12-05 13:43:20 UTC
Also PrivacyBadger:
https://github.com/EFForg/privacybadger/issues/2474

Upstream issue:
https://bugzilla.mozilla.org/show_bug.cgi?id=1601424

Comment 13 Artem 2019-12-05 16:56:53 UTC
Riot Web got broken after FF71 update
https://github.com/vector-im/riot-web/issues/11606

Comment 14 Vitaly Zaitsev 2019-12-05 17:10:50 UTC
Riot Web is completely broken with FF71.

Riot logs:

Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31
Failed to flush logs :  
error { target: IDBRequest, isTrusted: true, srcElement: IDBRequest, currentTarget: IDBTransaction, eventPhase: 3, bubbles: true, cancelable: true, returnValue: true, defaultPrevented: false, composed: false, … }
rageshake.js:108:31
Unhandled rejection value/this.flushPromise</o.onerror@https://matrix.easycoding.org/bundles/b980657cd3d51f5fc3b5/bundle.js:40:89154
rageshake.js:108:31

Comment 15 ataraxia937 2019-12-05 17:19:44 UTC
Bitwarden extension is also affected. And even uBlock Origin. The easiest way to replicate is to simply install uBlock Origin, and then click on the toolbar icon for it so as to show its small window. The window will close on its own shortly when it should stay open until you close it.

The Tutanota mail app (not an extension) is also impacted. It throws frequent errors trying to update its local DB for searching the mailbox.

All of these cases work fine on Mozilla's official upstream build.

Comment 16 ataraxia937 2019-12-05 17:40:28 UTC
I tested just now with Fedora's Firefox and a new profile. I still see these problems.

Comment 17 dsp3 2019-12-05 17:56:52 UTC
Firefox 72 beta 2 is unaffected

Comment 19 Alexander Ploumistos 2019-12-06 08:34:26 UTC
Three more extensions affected by this:

1. New Tab Tools
https://addons.mozilla.org/en-US/firefox/addon/new-tab-tools/

The local storage where tiles are stored cannot be read or updated. Interestingly enough, tiles that use custom images (also stored in my home folder) continue to display those images.


2. noturno
https://addons.mozilla.org/en-US/firefox/addon/noturno/

Proxy configuration cannot be read or set.


3. Proxy Switcher and Manager
https://addons.mozilla.org/en-US/firefox/addon/proxy-switcher-and-manager/

I had this one disabled because I was happy with noturno, but when I enabled it again, my settings had disappeared. I'm not sure how I got it to work, but it did, even though the toggle button seems to have stopped working and not all settings are retained.


I'm not 100% sure which build was the first to exhibit the problem, because I have been updating firefox from koji a lot lately, but I think that up to 71.0-6 there was no issue.

Comment 20 Martin Stransky 2019-12-06 13:44:38 UTC
*** Bug 1779762 has been marked as a duplicate of this bug. ***

Comment 21 Bruno Windels 2019-12-06 15:03:14 UTC
Interestingly, a user of Riot is reporting similar breakage on Debian (although not providing details so hard to be sure). See https://github.com/vector-im/riot-web/issues/11606#issuecomment-562576801

Comment 22 Alexander Ploumistos 2019-12-06 16:43:32 UTC
firefox-71.0-11.npgo.fc31.x86_64.rpm fixed the issue with New Tab Tools and Proxy Switcher and Manager, but I can't get noturno to work.
It's the same with firefox-71.0-12.clang.fc31.x86_64.rpm.

Comment 23 Martin Stransky 2019-12-06 19:23:36 UTC
You can use .clang builds as a temporary workaround:
https://koji.fedoraproject.org/koji/packageinfo?packageID=37

Comment 24 ataraxia937 2019-12-06 23:03:51 UTC
(In reply to Martin Stransky from comment #23)
> You can use .clang builds as a temporary workaround:
> https://koji.fedoraproject.org/koji/packageinfo?packageID=37

I installed firefox-71.0-12.clang.fc31.x86_64 and while this solves the problem with the Tutanota site, there is still an issue with extensions. The windows for them continue to close on their own. However, Bitwarden at least doesn't lock too soon now. I wonder if there are multiple separate issues with the 71 release?

Comment 25 Martin Stransky 2019-12-07 07:16:03 UTC
Yes, looks like we face different problems here, I do asan builds right now which can help to track memory issues.

Comment 26 Alexander Ploumistos 2019-12-07 11:34:54 UTC
(In reply to Martin Stransky from comment #25)
> Yes, looks like we face different problems here, I do asan builds right now
> which can help to track memory issues.

The x86_64 package is still being compiled. Once that's done, how do we use these builds to help?

Comment 27 Martin Stransky 2019-12-07 14:26:18 UTC
There's still missing some fixes at recent builds, asan build crashes with:

SUMMARY: AddressSanitizer: stack-use-after-scope /home/komat/CVS/firefox/firefox-71.0/xpcom/string/nsTStringRepr.h:283 in mozilla::detail::nsTStringRepr<char>::IsDependentOn(char const*, char const*) const

Comment 28 Steeve McCauley 2019-12-07 15:39:02 UTC
Out of curiosity, is there no mechanism for dnf to backout an obviously broken version of an important application like this?  Three days seems like a long wait for such an important issue.

For end-users who just want to use firefox and extensions again,

To manually revert I used "dnf downgrade firefox", and edited "sudo vim /etc/dnf/dnf.conf" to exclude=firefox from upgrades, until the issue is fixed.

After restarting the downgraded firefox I did get some cache corruption errors from firefox that required the use of "Ctrl+Shift+R" to invalidate cache and reload the page again.

Comment 29 Vitaly Zaitsev 2019-12-07 16:24:07 UTC
> Out of curiosity, is there no mechanism for dnf to backout an obviously broken version of an important application like this?  Three days seems like a long wait for such an important issue.

You can always downgrade to 70.0.1:

sudo dnf downgrade https://kojipkgs.fedoraproject.org/packages/firefox/70.0.1/4.fc31/x86_64/firefox-70.0.1-4.fc31.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/firefox/70.0.1/4.fc31/x86_64/firefox-wayland-70.0.1-4.fc31.x86_64.rpm

Comment 30 roger.bivand 2019-12-08 18:51:31 UTC
Please check back to #1779762 - "Lastpass extension doesn't work with Firefox 71" as well. My recollection is that the greying-out of the extensions button (>>) was already present in 70 for the LastPass extension, but not always. 69 is reliable.

Comment 31 Martin Stransky 2019-12-08 21:18:48 UTC
Root cause is tracked as https://bugzilla.mozilla.org/show_bug.cgi?id=1601707

Comment 32 hacrot3000 2019-12-09 03:55:13 UTC
Created attachment 1643157 [details]
Error log on console

I got same problem with LastPass plugin, 
I have to downgrade firefox by below command to make it works:
dnf downgrade firefox.x86_64

Comment 33 Martin Stransky 2019-12-09 09:08:49 UTC
*** Bug 1780960 has been marked as a duplicate of this bug. ***

Comment 34 Martin Stransky 2019-12-09 09:40:37 UTC
*** Bug 1779809 has been marked as a duplicate of this bug. ***

Comment 35 Martin Stransky 2019-12-09 13:12:21 UTC
firefox-71.0-14.npgo at https://koji.fedoraproject.org/koji/packageinfo?packageID=37 should fix this.

Comment 36 Alexander Ploumistos 2019-12-09 13:15:13 UTC
I have installed firefox-71.0-14.npgo.fc31.x86_64 (I'm running it on X.org) and noturno is still broken. On the other hand, I had not encountered any startup crashes like the ones reported with previous versions. I will try to contact Athos Ribeiro for the issues with noturno.

Comment 37 ataraxia937 2019-12-09 17:01:13 UTC
firefox-71.0-14.npgo.fc31.x86_64 still has the minor problem that extension windows close by themselves. To repeat, Mozilla's official builds do not have this problem.

Comment 38 Chris Rainey 2019-12-09 20:01:51 UTC
(In reply to Martin Stransky from comment #35)
> firefox-71.0-14.npgo at
> https://koji.fedoraproject.org/koji/packageinfo?packageID=37 should fix this.

Confirming that firefox-71.0-14.npgo fixes the crash at: mail.tutanota.com

Comment 39 Matthew Saltzman 2019-12-09 20:19:49 UTC
Confirming that firefox-71.0-14.npgo fixes the LastPass login issue.

Comment 40 Mikuláš Poul 2019-12-09 22:09:03 UTC
The build firefox-71.0-14.npgo has fixed my issues with LastPass and Tab for a Cause.

Thank you for a quick fix!

Comment 41 Martin Stransky 2019-12-10 08:33:13 UTC
You may want to use fully optimized .15 builds:

https://koji.fedoraproject.org/koji/buildinfo?buildID=1420745
https://koji.fedoraproject.org/koji/buildinfo?buildID=1420744

Bodhi updates can't be submitted due to https://github.com/fedora-infra/bodhi/issues/3843

Comment 42 Vít Ondruch 2019-12-10 08:34:50 UTC
Brief works for me again testing with

~~~
$ rpm -q firefox
firefox-71.0-15.fc32.x86_64
~~~

Thx for the fix.

Comment 43 Martin Stransky 2019-12-10 09:27:41 UTC
*** Bug 1779082 has been marked as a duplicate of this bug. ***

Comment 44 Tomas Smetana 2019-12-10 09:37:12 UTC
Hello,
  firefox-71.0-15.fc30.x86_64 seems to be fixing the problem for me. Thanks.

Comment 45 Frank Büttner 2019-12-10 09:54:10 UTC
Yes, it will work for me also (using the brief extension).
Thanks.

Comment 46 Steeve McCauley 2019-12-10 11:48:34 UTC
Ditto, firefox-71.0-15.fc31.x86_64.rpm (from https://koji.fedoraproject.org/koji/buildinfo?buildID=1420745) fixes the issue with LastPass.

Comment 47 Michal Macura 2019-12-10 12:47:20 UTC
Hello,
firefox-71.0-15.fc30.x86_64 seems also to fix problems for me with Privacy Badger and missing QR code on messages.google.com

Comment 48 fabien.redhat 2019-12-10 19:10:48 UTC
Hi. I confirm too that firefox-71.0-15.fc31.x86_64 fix the problem with KeepassXC.

Comment 49 Christian Hernandez 2019-12-10 22:54:55 UTC
Confirming that firefox-71.0-15.fc31.x86_64 fixed the issue with Simple Tab Groups

Comment 50 Stan 2019-12-11 16:05:43 UTC
so... what now? When would this make it to fedora repos?

Comment 51 Matthew Saltzman 2019-12-11 16:10:55 UTC
Actually, I think this is not a complete fix. 

I'm using LastPass and when I have multiple accounts listed for a site, the LastPass icon that appears in the userd and password field brings up a pulldown list of the accounts that are available for that site. Selecting one that is not the default should (and used to) replace the filled-in defaults with the form values corresponding to the selected account. That part is not working with firefox-71.0-15.fc31.x86_64. I can open the pulldown menu and select the account, but the fields are not updated.

Comment 52 Fedora Update System 2019-12-11 16:17:34 UTC
FEDORA-2019-ab3dab5ba6 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-ab3dab5ba6

Comment 53 Fedora Update System 2019-12-12 01:37:54 UTC
firefox-71.0-15.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-1b71789719

Comment 54 Fedora Update System 2019-12-12 01:54:40 UTC
firefox-71.0-15.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.

Comment 55 Matthew Saltzman 2019-12-12 15:56:15 UTC
See comment 51. This version still doesn't correctly auto-fill forms from LastPass when the fill data is selected from multiple options via LastPass's pulldown list.

Comment 56 Fedora Update System 2019-12-13 01:04:26 UTC
firefox-71.0-15.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report.

Comment 57 hacrot3000 2019-12-19 03:31:29 UTC
The build firefox-71.0-15.fc31.x86_64 fixed my problem with LastPass.

Thanks,

Comment 58 Martin Stransky 2019-12-19 06:37:03 UTC
(In reply to Matthew Saltzman from comment #55)
> See comment 51. This version still doesn't correctly auto-fill forms from
> LastPass when the fill data is selected from multiple options via LastPass's
> pulldown list.

That may be a diffrent bug. Please try standard troubleshooting steps from
https://fedoraproject.org/wiki/How_to_debug_Firefox_problems?rd=Bug_info_Firefox

Comment 59 Fedora Update System 2019-12-21 15:52:57 UTC
FEDORA-FLATPAK-2019-2020e77e69 has been submitted as an update to Fedora 31 Flatpaks. https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2019-2020e77e69

Comment 60 Matthew Saltzman 2019-12-21 16:42:57 UTC
(In reply to Martin Stransky from comment #58)
> (In reply to Matthew Saltzman from comment #55)
> > See comment 51. This version still doesn't correctly auto-fill forms from
> > LastPass when the fill data is selected from multiple options via LastPass's
> > pulldown list.
> 
> That may be a diffrent bug. Please try standard troubleshooting steps from
> https://fedoraproject.org/wiki/
> How_to_debug_Firefox_problems?rd=Bug_info_Firefox

Not sure what changed, but this seems to be OK now.

Comment 61 Fedora Update System 2019-12-24 10:34:49 UTC
firefox-master-3120191220120626.1 has been pushed to the Fedora 31 Flatpaks testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-FLATPAK-2019-2020e77e69

Comment 62 Fedora Update System 2019-12-27 13:29:19 UTC
firefox-master-3120191220120626.1 has been pushed to the Fedora 31 Flatpaks stable repository. If problems still persist, please make note of it in this bug report.


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