Copying a profile from OSX to Linux (and probably Windows) will cause the user to lose all IDB data

NEW
Unassigned

Status

()

P3
normal
2 years ago
9 months ago

People

(Reporter: Ehsan, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

2 years ago
Created attachment 8860488 [details]
profile/storage/temporary/https+++www.perf-html.io/._.metadata-v2

STR:

1. Have a Firefox profile on OSX.
2. Copy it to Linux.
3. Use a website that uses IndexedDB (such as perf-html.io.)  All of the things break.

You get errors like this in the error console:

Quota Something (._.metadata-v2) in the directory that doesn't belong!: ActorsParent.cpp:4255  (unknown)

Coming from <http://searchfox.org/mozilla-central/rev/7aa21f3b531ddee90a353215bd86e97d6974e25b/dom/quota/ActorsParent.cpp#4255>

This file could be coming from <https://searchfox.org/mozilla-central/rev/7aa21f3b531ddee90a353215bd86e97d6974e25b/modules/freetype2/src/base/ftrfork.c#568>

I'm attaching an example one of these files from my profile.
(In reply to :Ehsan Akhgari (super long backlog, slow to respond, not reviewing for a while) from comment #0)
> This file could be coming from
> <https://searchfox.org/mozilla-central/rev/
> 7aa21f3b531ddee90a353215bd86e97d6974e25b/modules/freetype2/src/base/ftrfork.
> c#568>

Misleading link on my part pasted into IRC and included here.  That was just the in-tree indicator I found of the existence of the "._" prefixed files as an OS X thing.

https://apple.stackexchange.com/questions/14980/why-are-dot-underscore-files-created-and-how-can-i-avoid-them links to https://lists.apple.com/archives/applescript-users/2006/Jun/msg00180.html which seems like a particularly good mailing list posting on the subject.
Proposed-fix-wise, I think maybe IsOSMetadata could learn to ignore files with a "._" prefix in addition to DSSTORE_FILE_NAME (at https://searchfox.org/mozilla-central/source/dom/quota/ActorsParent.cpp#1413).  And other lingering file enumeration logic like IDB's https://searchfox.org/mozilla-central/source/dom/indexedDB/ActorsParent.cpp#18326 might want to consult QM for more checks too.
Bevis, is this something you'd like to tackle?
Flags: needinfo?(btseng)
Priority: -- → P3
Sure!
Assignee: nobody → btseng
Flags: needinfo?(btseng)
Assignee: btseng → nobody
You need to log in before you can comment on or make changes to this bug.