Chrome passwords with a NULL `action_uri` aren't imported
Categories
(Firefox :: Migration, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox68 | --- | fixed |
People
(Reporter: smartfon.reddit, Assigned: MattN)
Details
(Whiteboard: [passwords:migration])
Attachments
(2 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Steps to reproduce:
Goal:
Import BitWarden addon's CSV passwords into Firefox. Because Firefox doesn't have a CSV import ability, I decided to import the CSV into Chrome, then run Firefox's "Import Data from Another Browser" tool. When I run the "Import data from another browser" tool on Firefox, it only imports some of the passwords from Chrome. If I delete those passwords in Firefox and import again, the same exact passwords are imported.
Full Steps:
Chrome doesn't have a CSV import feature either, but they have a Flag. Open chrome://flags/ in Google Chrome and enable the Password Import flag. Import BitWarden's CSV file containing 330 passwords into Chrome successfully. Remove any entries with empty fields to avoid potential problems later.
Open Firefox > Library and run "Import data from another browser" feature. It only imports few dozen passwords out of 330. It always imports the data of the same accounts. In the "Import Data from Another Browser" tool, the password importing process lasts split of a second, while I'd expect it to take longer for 330 entries(?).
The profile is new. Windows 10. Relevant thread https://www.reddit.com/r/firefox/comments/b5pzhf/firefox_lockbox_now_on_android_keeping_your/ekhcmrw/?context=3
Reporter | ||
Comment 1•6 years ago
|
||
Update. It appears that any password that was added into Chrome through CSV, although they may appear inside Chrome, they won't be imported by Firefox with the "Import data from..." tool.
If I use the standard method to add a password into Chrome by signing into a website and remembering credentials, that password will be imported by Firefox (I've only tried a few).
My guess is that out of 330 passwords that I have in Chrome, about 310 were imported through CSV, and 20 of them were there from earlier days and were added the regular way. This explains why always the exact same 20 passwords get imported by Firefox; they are the only ones that weren't imported into Chrome through CSV.
I guess you could say this is a bug in Chrome, but why would Firefox be unable to import data that is visible and functional in Chrome? With this method being the only way to import password-manager-addon passwords into Firefox, it's worth looking into it.
Updated•6 years ago
|
Comment 2•6 years ago
|
||
Can you attach the browser console[1] logs when you run the migrator?. It should tell us if we are encountering any errors, and if those 20 entries are failing to migrate in the same way.
Reporter | ||
Comment 3•6 years ago
|
||
Handler function DebuggerProgressListener.prototype.onWindowCreated threw an exception: TypeError: window is undefined
Stack: getWindowID@resource://devtools/server/actors/targets/browsing-context.js:54:3
DebuggerProgressListener.prototype.onWindowCreated<@resource://devtools/server/actors/targets/browsing-context.js:1580:21
exports.makeInfallible/<@resource://devtools/shared/ThreadSafeDevToolsUtils.js:109:22
_fireEvent@chrome://global/content/bindings/wizard.xml:418:34
set_currentPage@chrome://global/content/bindings/wizard.xml:94:16
advance@chrome://global/content/bindings/wizard.xml:281:15
@chrome://global/content/bindings/wizard.xml:148:40
observe@chrome://browser/content/migration/migration.js:382:22
notify@resource:///modules/MigrationUtils.jsm:303:22
resourceDone@resource:///modules/MigrationUtils.jsm:338:17
migrate@resource:///modules/ChromeProfileMigrator.jsm:412:7
MU_showMigrationWizard@resource:///modules/MigrationUtils.jsm:892:17
OpenMigrator@chrome://passwordmgr/content/passwordManager.js:763:18
oncommand@chrome://passwordmgr/content/passwordManager.xul:1:1
Line: 54, column: 3 ThreadSafeDevToolsUtils.js:88:13
[Exception... "Must have a non-null string spec or nsIFile object" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: resource:///modules/ChromeProfileMigrator.jsm :: migrate :: line 383" data: no]
migrate resource:///modules/ChromeProfileMigrator.jsm:383
AsyncFunctionNext self-hosted:820
MU_showMigrationWizard resource:///modules/MigrationUtils.jsm:892
OpenMigrator chrome://passwordmgr/content/passwordManager.js:763
oncommand chrome://passwordmgr/content/passwordManager.xul:1
Reporter | ||
Comment 4•6 years ago
|
||
Comment 5•6 years ago
|
||
The priority flag is not set for this bug.
:MattN, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 6•6 years ago
|
||
Can you load chrome://version/ and copy Profile Path
here? I'm seeing some errors related to this but I'm not sure if that's innocent:
Error detecting Chrome profiles: Win error 2 during operation open on file C:\Users\USERNAME\AppData\Local\Chromium\User Data\Local State (The system cannot find the file specified.
Reporter | ||
Comment 7•6 years ago
|
||
(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #6)
C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default
Looks like Firefox is looking for a "Chromium" folder instead of "Chrome". Could be the code was tested on Chromium and later forgotten to be worded for Chrome?
Comment 8•6 years ago
|
||
The priority flag is not set for this bug.
:MattN, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 9•6 years ago
|
||
The error at the bottom points to: https://searchfox.org/mozilla-central/rev/99a2a5a955960b0e58ceade1db1f7652d9db4ba1/browser/components/migration/ChromeProfileMigrator.jsm#383
Could you collect some data from the Chrome Login Data so we can find a pattern in which logins aren't imported? My guess is that this bug is related to action_url
or scheme
columns:
- Install the SQLite Manager extension in Firefox.
- Close Chrome
- Click the SQLite Manager toolbar button in Firefox.
- In the SQLite Manager tab: File => Open a Database
- Choose
C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data\Default\Login Data
(from comment 7) - In the "Enter math.js or SQLite commands" box, paste the following and hit ENTER:
SELECT origin_url, action_url, signon_realm, date_created, scheme, password_type, generation_upload_status, id FROM logins;
- On the header of the results, click "Export", save the file on your computer and email it to me (it contains URLs of your saved logins) telling me which logins (a handful is fine) are the ones that don't import
OR
Look for a pattern in the columns of the logins that didn't import and let me know what they have in common.
Thank you very much. I believe this would likely give enough information to fix the issue.
Reporter | ||
Comment 10•6 years ago
|
||
(In reply to Matthew N. [:MattN] (PM me if requests are blocking you) from comment #9)
The action_url column is all "NULL" with the exception of a few entries. Only the entries where action_url is present will import into Firefox properly.
Assignee | ||
Comment 11•6 years ago
|
||
Thanks for the info! This should be easy to fix then.
Assignee | ||
Comment 12•6 years ago
|
||
Save it with the wildcard "" value so it works with any form action.
Assignee | ||
Comment 13•6 years ago
|
||
Comment 14•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 15•6 years ago
|
||
bugherder |
Description
•