`DOMException: Could not parse path (null): NS_ERROR_FILE_UNRECOGNIZED_PATH` errors in the Browser console when opening the Import Wizard window
Categories
(Firefox :: Migration, defect, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox111 | --- | unaffected |
firefox112 | --- | wontfix |
firefox113 | --- | wontfix |
firefox114 | --- | verified |
People
(Reporter: atrif, Assigned: portiawuu)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(2 files)
Found in
- 113.0a1 (20230314010803)
Affected versions
- 113.0a1 (20230314010803)
- 112.0b1
Tested platforms
- Affected platforms: Ubuntu 20.04, Windows 10x64, macOS 12
- Unaffected platforms: none
Steps to reproduce
- Open Firefox > App Menu > History > Manage History.
- Click on Import data and Backpup > Import Data From Another Browser.
- Observe the browser console.
Expected result
- No errors are displayed.
Actual result
- Multiple
DOMException: Could not parse path (null): NS_ERROR_FILE_UNRECOGNIZED_PATH
errors.
Regression range
Additional notes
- Attached a screenshot.
- I am not aware if any functionality is affected. The import works as expected.
Comment 1•2 years ago
|
||
:axtinemvsn, since you are the author of the regressor, bug 1467094, could you take a look?
For more information, please visit auto_nag documentation.
Comment 2•2 years ago
|
||
This seems to be because we now run an exists()
call inside getDataPath
in the Chrome Migrator Utils:
for (let subfolders of options) {
let rootDir = subfolders[0];
try {
let targetPath = Services.dirsvc.get(rootDir, Ci.nsIFile).path;
targetPath = PathUtils.join(targetPath, ...subfolders.slice(1));
if (await IOUtils.exists(targetPath)) {
return targetPath;
}
} catch (ex) {
// The path logic here shouldn't error, so log it:
console.error(ex);
}
and if no extant path is found, we return null. But the caller in getSourceProfiles
does not expect null:
let path = await lazy.ChromeMigrationUtils.getDataPath(
this._chromeUserDataPathSuffix
);
let exists = await IOUtils.exists(path);
and will pass null
to IOUtils.exists()
which throws an error.
It would probably be sufficient to update that line to let exists = path && (await IOUtils.exists(path));
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 6•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Comment 7•2 years ago
|
||
The patch landed in nightly and beta is affected.
:portiawuu, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox113
towontfix
.
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Comment 8•2 years ago
|
||
This should be pretty safe for uplift if we want it, although I don't think there's any end-user benefit here. This is mainly dealing with console error spam. Would we still want it?
Reporter | ||
Comment 10•2 years ago
|
||
Verified fixed with Firefox 114.0a1 (2023-05-04) on Windows1 10x64, macOS 12 and Ubuntu 20.04. There DOMException: Could not parse path (null): NS_ERROR_FILE_UNRECOGNIZED_PATH
errors are no longer displayed in the browser console after following the steps from comment 0.
Description
•