Closed Bug 1759247 Opened 2 years ago Closed 2 years ago

DuckDuckGo and Google are removed from the search engine list

Categories

(Core :: Storage: IndexedDB, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED DUPLICATE of bug 1759711

People

(Reporter: xidorn, Unassigned)

References

Details

Attachments

(1 file)

Today when I opened my browser, a warning bar shows that my default engine DuckDuckGo is no longer supported, and the default engine is now "Wikipedia (en)", and when I looked into settings, I can see only "Wikipedia (en)" and "Bing" there, even Google is removed.

That feels very wrong.

Please can you confirm the version you are using?

Also, does this persist after a restart? If it does, please can you:

  • turn on browser.search.log in about:config
  • restart Firefox
  • Visit the browser console (from More tools in the application menu) and select all and paste that into an attachment on this bug.
Flags: needinfo?(xidorn+moz)
Attached file browser.log

Yes, it persists after restarting the browser. This is the log.

Flags: needinfo?(xidorn+moz)
Attachment #9267515 - Attachment mime type: text/x-log → text/plain

Thank you, that's useful to see. This in particular looks wrong:

SearchEngineSelector: fetchEngineConfiguration en-US:AU:release:canonical-002::firefox:98.0 SearchEngineSelector.jsm:205:16
SearchEngineSelector: fetchEngineConfiguration: wikipedia@search.mozilla.org,bing@search.mozilla.org SearchEngineSelector.jsm:336:18

That second line should have Google, DDG and a few others listed.

Looking further down the file, I see some issues with IndexedDB, which is what is backing remote settings that the search engine configuration obtained from:

IndexedDB UnknownErr: ActorsParent.cpp:543
services.settings: UnknownError: IndexedDB: blocklists/gfx list() IndexedDB:  execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code. remote-settings.js:318
IndexedDB UnknownErr: ActorsParent.cpp:543 9
IndexedDB UnknownErr: ActorsParent.cpp:543 2
RemoteSettingsWorker error: UnknownError: IndexedDB:  execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsWorker.js:136:15
IndexedDB UnknownErr: ActorsParent.cpp:543 10
IndexedDB UnknownErr: ActorsParent.cpp:543 3
UnknownError: IndexedDB:  execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code. RemoteSettingsWorker.jsm:46
IndexedDB UnknownErr: ActorsParent.cpp:543 23
services.settings: UnknownError: IndexedDB: blocklists/addons-bloomfilters importChanges() IndexedDB:  importChanges() in blocklists/addons-bloomfilters The operation failed for reasons unrelated to the database itself and not covered by any other error code. remote-settings.js:318
BroadcastService: receivedBroadcastMessage: handler for remote-settings/monitor_changes threw error: UnknownError: IndexedDB: blocklists/gfx list() IndexedDB:  execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code. PushBroadcastService.jsm:264

Therefore I'm wondering if this is some issue with the IndexedDB being messed up.

I'll cc a couple of people and ask around next week.

Just a thought, in the browser console, do you have a command line for entry? If not, you can turn it on (see the bottom of the first section on this page).

Once that's on, please can you try entering:

let { RemoteSettings } = ChromeUtils.import("resource://services-settings/remote-settings.js");
await (new RemoteSettings("search-config")).get();

Does it return something like this?

Array(78) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]

The count is the important piece of information for now - I'd expect it to be 78 at the moment.

Flags: needinfo?(xidorn+moz)

I saw 78 as well.

Also I saw

IndexedDB UnknownErr: ActorsParent.cpp:543
IndexedDB: main/search-config list() IndexedDB: execute() The operation failed for reasons unrelated to the database itself and not covered by any other error code.
when running the second line, so it's possible that the indexed db is corrupted possibly.

Note that I've seen other databases of Firefox corrupted in the past, like places.sqlite, which might be related to that I moved the profile completely to tmpfs and use a rsync to periodically sync back to disk to minimize the disk write, following the instructions on ArchWiki.

Flags: needinfo?(xidorn+moz)

Oh, and I think the search engines have been restored now. I can see both DuckDuckGo and Google in it.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME

Actually... It was probably the last restart fixed it, but I tried reloading the whole profile (due to possible corruption of places.sqlite), and now the search engines disappear again, and I run the commands above again, it now shows 55 rather than 78, and with no IndexedDB errors.

Thank you for the comments and explanation, I'm moving this across to the indexedDB component and reopening for their visibility. I'm not sure there's much that can be done in this type of situation, but lets get it checked by the team.

Status: RESOLVED → REOPENED
Component: Search → Storage: IndexedDB
Product: Firefox → Core
Resolution: WORKSFORME → ---

(In reply to Mark Banner (:standard8) from comment #8)

Thank you for the comments and explanation, I'm moving this across to the indexedDB component and reopening for their visibility. I'm not sure there's much that can be done in this type of situation, but lets get it checked by the team.

Remote settings could delete the database when it observes this behavior. I'm duping this bug against bug 1759711 on automatically deleting IDB databases but note that because it is impossible/unsafe for QuotaManager to request a reload of system principaled-JSM code, Remote Settings still likely would need to take some action to handle and compensate for dynamically detected corruption. Bug 1659464 tracks trying to provide better documentation on how things like that might be handled. Arguably bug 1759711 should probably be fixed first.

Status: REOPENED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → DUPLICATE
See Also: → 1658597
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: