Closed Bug 1197856 Opened 4 years ago Closed 4 years ago

"Error: no item found for the given GUID" importing of bookmarks from Internet Explorer and Chrome (on Windows 10)

Categories

(Firefox :: Migration, defect)

43 Branch
Unspecified
Windows 10
defect
Not set

Tracking

()

RESOLVED DUPLICATE of bug 1190131

People

(Reporter: hackwrench1, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fxsync])

Attachments

(4 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:43.0) Gecko/20100101 Firefox/43.0
Build ID: 20150824030206

Steps to reproduce:

Went to Bookmarks menu, clicked on Show all bookmarks. Clicked on Import and Backup. Clicked on Import Data From Another Browser. Clicked on Internet Explorer or Chrome, unchecked everything but Favorites.



Actual results:

Nothing was imported from Internet Explorer, but From Internet Explorer appears on the Bookmarks toolbar. Chrome Bookmark titlebar top level folders were imported from Chrome and one folder got its bookmarks imported, but all the others did not.


Expected results:

Bookmarks should have been imported
OS: Unspecified → Windows 10
I attempted this twice and it turns out there are two From Internet Explorer folders under the Bookmarks menu that have one level of Favorites and folders but do not get the Favorites under those folders. There are now two From Google Chromes in the toolbar, so maybe the bug should be that only one level get imported. Since Firefox thinks that From Internet Explorer is empty for the toolbar both times there is only one From Internet Explorer on the toolbar.
Blocks: windows-10
QA Whiteboard: [bugday-20150824]
Component: Untriaged → Bookmarks & History
Summary: Importing from another browser fails. → Importing from another browser fails on windows 10
Does importing from IE work any better on Firefox 42 (devedition) ?
Flags: needinfo?(hackwrench)
Summary: Importing from another browser fails on windows 10 → Importing from Internet Explorer and Chrome fails in different ways on Windows 10
Component: Bookmarks & History → Migration
It does work better in 42 Dev
Flags: needinfo?(hackwrench)
I forgot I logged into Sync in Nightly. When I logged into Sync in Developer Edition, importing did almost as bad, but still better than Nightly
Yeah, logged out of Sync on Nightly, deleted previous imports, and reimported again, and it looked like it worked, albeit slowly without a progress bar, so it seems it is a problem with Sync and importing.
Thanks for checking!

If 42 and 43 behave the same when sync is enabled (and it works when sync isn't enabled) then I expect I *didn't* regress something here in bug 1192032. Not sure this is win10-specific, then... but let's at least adjust the summary.

Richard, do you have cycles to look at this (or can you suggest someone who does)?
Flags: needinfo?(rnewman)
Summary: Importing from Internet Explorer and Chrome fails in different ways on Windows 10 → Using sync breaks some of the importing from Internet Explorer and Chrome fails (on Windows 10)
Summary: Using sync breaks some of the importing from Internet Explorer and Chrome fails (on Windows 10) → Using sync breaks some of the importing of bookmarks from Internet Explorer and Chrome (on Windows 10)
Seeing the output from the Browser Console could point to the error.

Robert, could you open the Browser Console[1], click Clear, then start the migration, wait for it to finish/fail, and then attach the output here. Make sure all of the JS and Logging options are on.

[1] https://developer.mozilla.org/en-US/docs/Tools/Browser_Console
Flags: needinfo?(hackwrench)
If Sync is involved, I would speculate two causes:

1. The importer is adding bookmarks one at a time, rather than using a batching interface to Places. That's causing a sync to occur after every bookmark insertion, and that is somehow causing confusion.

2. Sync spins the event loop when it syncs, and that is somehow causing the import to abort immediately after creating the parent folder.

This should go in the Sync backlog, and probably markh can look at it.
Flags: needinfo?(rnewman)
Summary: Using sync breaks some of the importing of bookmarks from Internet Explorer and Chrome (on Windows 10) → Using Sync breaks some of the importing of bookmarks from Internet Explorer and Chrome (on Windows 10)
Whiteboard: [fxsync]
(In reply to Richard Newman [:rnewman] from comment #8)
> If Sync is involved, I would speculate two causes:
> 
> 1. The importer is adding bookmarks one at a time, rather than using a
> batching interface to Places.

This at least is definitely the case, I suppose mostly because Bookmarks.jsm doesn't expose APIs to add more than one item at a time (that I could see, anyway).

> That's causing a sync to occur after every
> bookmark insertion, and that is somehow causing confusion.

Right...

> 2. Sync spins the event loop when it syncs, and that is somehow causing the
> import to abort immediately after creating the parent folder.

Also possible, though I'm not sure how/why... the browser console output Matt asked for in comment #7 might help there.

> This should go in the Sync backlog, and probably markh can look at it.
(In reply to :Gijs Kruitbosch from comment #9)

> This at least is definitely the case, I suppose mostly because Bookmarks.jsm
> doesn't expose APIs to add more than one item at a time (that I could see,
> anyway).

PlacesUtils.bookmarks.runInBatchMode establishes a transaction. (It has its problems, though: Bug 1190131.)

We should consider batching up these inserts regardless of this bug, IMO. If it fixes it, all the better; otherwise, we'll be faster and thrash the disk less.
Attached file Dev IE Sync
Flags: needinfo?(hackwrench)
Attached file Dev Chrome Synced.txt
Attached file Nightly IE sync.txt
The Nightly Chrome Synced had a 23 in a red bubble that didn't get transferred to the text in the copy/paste. I had wanted to include a baseline with the browsers unsynced but that didn't generate any entries in the browser log.
This looks like it's running while Sync is syncing. My guess is that it's interfering with Sync's batch mode transaction, and so inserted items aren't visible yet. Exactly how is up to Mark to figure out, but there's probably overlap with Bug 1190131.
Summary: Using Sync breaks some of the importing of bookmarks from Internet Explorer and Chrome (on Windows 10) → "Error: no item found for the given GUID" importing of bookmarks from Internet Explorer and Chrome (on Windows 10)
A short-term mitigation is for the bookmark importer to temporarily block syncing — either by bumping the bookmark sync score threshold to a huge number (don't turn off tracking, because it'll forget the changed IDs), or by taking the service sync lock to simply prevent a sync from starting.
Status: UNCONFIRMED → NEW
Ever confirmed: true
This sounds exactly like the problem described in bug 1190131 comment 9 - I've a ni? request on Mak in that bug, but the short story is that while PlacesUtils.bookmarks.runInBatchMode is active, PlacesUtils is simply broken - transactions it sets up internally aren't actually transactions so it fails to create items correctly. Sync does use these batching facilities, so it seems like the profile importing code is just hitting this exact same issue if it runs at the same time Sync is running.
Flags: firefox-backlog+
yeah I think bug 1190131 may fix this.
Robert would you mind verifying if Bug 1190131 fixed the problem?
Flags: needinfo?(hackwrench)
Some Icons make it but most do not, but that's probably a separate bug. Otherwise, it looks like all the bookmarks made it.
Flags: needinfo?(hackwrench)
(In reply to Robert Claypool from comment #21)
> it looks like all the bookmarks made it.

Thanks!
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1190131
You need to log in before you can comment on or make changes to this bug.