DuckDuckGo and Google are removed from the search engine list
Categories
(Core :: Storage: IndexedDB, defect)
Tracking
()
People
(Reporter: xidorn, Unassigned)
References
Details
Attachments
(1 file)
7.83 KB,
text/plain
|
Details |
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.
Comment 1•3 years ago
|
||
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.
Reporter | ||
Comment 2•3 years ago
|
||
Yes, it persists after restarting the browser. This is the log.
Updated•3 years ago
|
Comment 3•3 years ago
|
||
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.
Comment 4•3 years ago
|
||
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.
Reporter | ||
Comment 5•3 years ago
|
||
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.
Reporter | ||
Comment 6•3 years ago
|
||
Oh, and I think the search engines have been restored now. I can see both DuckDuckGo and Google in it.
Reporter | ||
Comment 7•3 years ago
|
||
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.
Comment 8•3 years ago
|
||
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.
Comment 9•3 years ago
|
||
(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.
Description
•