Bugged content-prefs.sqlite make it impossible to change default preference of certain site
Categories
(Toolkit :: Preferences, defect, P3)
Tracking
()
People
(Reporter: 543080122, Unassigned)
Details
Attachments
(1 file)
224.00 KB,
application/octet-stream
|
Details |
Info
Firefox automatically remembers zoom level of a site, but I noticed that one (only one) of them is always reset to a fixed zoom level whenever I visit it
After some research I found that
- It's caused by bugged
content-prefs.sqlite
, it feels like that zoom level of said site is read-only, firefox can't change it - I deleted irrelevant entries in the SQL database but group-id 25 and 29 cannot be deleted for unknown reason
I'm not sure why and when my content-prefs.sqlite
was broken, but I noticed this bug like months ago
Step to reproduce
- Create a new profile, run it to generate default profile files
- Download attachment
content-prefs.sqlite
and replace the one in said profile (or just copy it in there, if there's none) - Open https://chan.sankakucomplex.com/post/show/25675944 (nsfw), change zoom level to 70%
- Refresh page
Expected result
- Firefox remembers your active change, zoom level remains 70%
Actual result
- Zoom level reset to 130%
Comment 1•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Graphics: WebRender' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•2 years ago
|
||
The severity field is not set for this bug.
:gw, could you have a look please?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 3•2 years ago
|
||
Marco, do you know what's wrong with this sqlite db and where/how we'd need to deal with that wrongness?
One more thing I forgot to mention: my pc was unstable and freeze/reboot very often few months ago before I bought a new one, I noticed many web page session loss after a reboot/freeze-and-force-reboot, even search engine loss for few times (I have to recover search.json.mozlz4 manually)
This might be related to the corrupted content-prefs.sqlite. fyi
Comment 5•2 years ago
|
||
Setting low severity right now because from what I can tell here, it's a pretty rare event to corrupt this SQLite database.
Comment 6•2 years ago
|
||
(In reply to :Gijs (he/him) from comment #3)
Marco, do you know what's wrong with this sqlite db and where/how we'd need to deal with that wrongness?
Not much we can easily fix, PRAGMA integrity_check returns a few rows are missing from index, but reindex doesn't solve that. Trying to remove the entries shows a disk image is malformed
error that usually means the table/row headers are broken. The reasons can be many, disk or memory corruption, lying filesystem...
Usually there's only 2 solutions to these issues:
- Throw away the db, rebuild a new one starting from a data backup, if you have a data backup.
- try to clone the database manually, by basically copying over the schema and the data to a new one. Places tries something like that, and ideally it could be done by any consumer https://searchfox.org/mozilla-central/rev/fa81b64fc1a339e2b2b1f6a8637a689916e13c4e/toolkit/components/places/Database.cpp#859-975.
The copy-over approach is portable as a more generic helper for all the databases. The problem is this cloning must happen on startup before consumers can access the database, or we'd need some solution to hot swap the sqlite connection in background, that seems unlikely. The other problem is detecting the failure, Places is doing that during weekly maintenance, but we also have bug 1125157 that may allow to detect a corruption when running a query (some corruptions are undetected at time of opening). I wonder if a simpler js solution could be implemented in Sqlite.jsm.
Description
•