Closed Bug 1797799 Opened 3 years ago Closed 2 years ago

Adobe installation of new fonts causes Bookmarks sidebar to malfunction

Categories

(Firefox :: Bookmarks & History, defect, P3)

Firefox 106
defect

Tracking

()

RESOLVED DUPLICATE of bug 1839304
Tracking Status
firefox106 --- affected
firefox107 --- affected
firefox108 --- affected

People

(Reporter: bobmulcahy, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0

Steps to reproduce:

As I'm browsing the web in Firefox on my Windows 10 machine that also has the Adobe suite installed, I get a pop-up that Adobe has installed a font on my machine.

Actual results:

The Bookmarks sidebar starts acting strangely. Collapsed folders, for instance, can no longer be uncollapsed. Sometimes, all the folders collapse themselves and remain so until I restart Firefox.

Expected results:

The installation of fonts on my machine shouldn't affect the Bookmarks sidebar. I've noticed this behavior for a long time--it took me many months to realize the correlation was between font installation (at least by Adobe's font installer) and the sidebar bug.

The Bugbug bot thinks this bug should belong to the 'Firefox::Bookmarks & History' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Bookmarks & History

Hello, thanks for the bug report!
I could reproduce the issue on:

  • Firefox 106.0.5;
  • Nightly 108.0a1;
  • Firefox 107.0b9;

Tested and reproduced on:

  • Windows 10;

Whilst installing Adobe fonts with Firefox opened, Bookmark Sidebar's content - specifically collapsing/un-collapsing folders - will be unresponsive for a few seconds, sometimes more. Could not reproduce on macOS nor Ubuntu, probably since installing the fonts follow a different process than on Windows. Will investigate further on the matter.

Setting as NEW.

Severity: -- → S3
Status: UNCONFIRMED → NEW
Ever confirmed: true

Jonathan, do you have any idea of what might be going wrong here?

Flags: needinfo?(jfkthame)

When a font is installed (or removed), we have to rebuild the collection of available fonts that gecko uses during layout/rendering. This can be a bit slow, as we query DirectWrite for the fonts, and in turn it sometimes blocks while (apparently) rebuilding its internal caches. So I could understand font installation causing the browser to temporarily be unresponsive while that happens, sometimes for as much as a few seconds.

But I don't understand why the Bookmarks sidebar in particular, rather than the browser as a whole, would be affected, or why the problem would persist rather than just be a temporary "jank".

Oana, can you capture a profile with the Firefox Profiler of this happening? That might provide some clues.

Flags: needinfo?(jfkthame) → needinfo?(oana.ardelean)

Profile : https://share.firefox.dev/3F9jOeY
I used Hu_Adobe_Garamond font but from what I gathered I can reproduce with all the fonts I've tried so far.
Please let me know if there's anything else I can do to help.
Thank you.

Flags: needinfo?(oana.ardelean)

In this profile, I can see there's a half-second-plus jank at about the 17s position, which I assume corresponds to when the additional font is installed. The call stacks confirm this is when Firefox is rebuilding its font list, and is an expected effect of changing the installed fonts while the application is running.

But once that is over, the browser should continue to run normally. Is it showing some kind of broken behavior even after the end of that temporary pause?

I keep getting the same errors in the browser console:

Uncaught
Exception { name: "NS_ERROR_UNEXPECTED", message: "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsINavHistoryResultNode.parentResult]", result: 2147549183, filename: "resource://gre/modules/PlacesUtils.sys.mjs", lineNumber: 901, columnNumber: 0, data: null, stack: "PU_nodeIsTagQuery@resource://gre/modules/PlacesUtils.sys.mjs:901:1\nPTV_isContainer@chrome://browser/content/places/treeView.js:1370:55\n", location: XPCWrappedNative_NoHelper }
358 PlacesUtils.sys.mjs:901
Uncaught
Exception { name: "NS_ERROR_ILLEGAL_VALUE", message: "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsINavHistoryResult.removeObserver]", result: 2147942487, filename: "chrome://browser/content/places/treeView.js", lineNumber: 1652, columnNumber: 0, data: null, stack: "PTV_setTree@chrome://browser/content/places/treeView.js:1652:24\nset view@chrome://browser/content/places/places-tree.js:179:13\nload@chrome://browser/content/places/places-tree.js:461:7\nset place@chrome://browser/content/places/places-tree.js:219:12\nset currentPlace@chrome://browser/content/places/places.js:1400:5\nPO_onPlaceSelected@chrome://browser/content/places/places.js:350:7\nonselect@chrome://browser/content/places/places.xhtml:1:17\nMozTreeChildren/<@chrome://global/content/elements/tree.js:69:28\n", location: XPCWrappedNative_NoHelper }
treeView.js:1652
Cannot use an incomplete node to initialize the edit bookmark panel instantEditBookmark.js:82
Cannot use an incomplete node to initialize the edit bookmark panel instantEditBookmark.js:82
Cannot use an incomplete node to initialize the edit bookmark panel instantEditBookmark.js:82
Cannot use an incomplete node to initialize the edit bookmark panel instantEditBookmark.js:82
Cannot use an incomplete node to initialize the edit bookmark panel instantEditBookmark.js:82
_setPaneInfo chrome://browser/content/places/instantEditBookmark.js:82
initPanel chrome://browser/content/places/instantEditBookmark.js:282
PO__fillDetailsPane chrome://browser/content/places/places.js:761
PO_updateDetailsPane chrome://browser/content/places/places.js:435
PO_onPlaceSelected chrome://browser/content/places/places.js:372
onselect chrome://browser/content/places/places.xhtml:1
MozTreeChildren chrome://global/content/elements/tree.js:69
Uncaught
Exception { name: "NS_ERROR_UNEXPECTED", message: "Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsINavHistoryResultNode.parentResult]", result: 2147549183, filename: "resource://gre/modules/PlacesUtils.sys.mjs", lineNumber: 901, columnNumber: 0, data: null, stack: "PU_nodeIsTagQuery@resource://gre/modules/PlacesUtils.sys.mjs:901:1\nPTV_isContainer@chrome://browser/content/places/treeView.js:1370:55\n", location: XPCWrappedNative_NoHelper }
120 PlacesUtils.sys.mjs:901
<Provider> does not support changing store on the fly. It is most likely that you see this error because you updated to Redux 2.x and React Redux 2.x which no longer hot reload reducers automatically. See https://github.com/reactjs/react-redux/releases/tag/v2.0.0 for the migration instructions. react-redux.js:881:13
This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”. tree.js

Except for the slight freeze, I didn't notice anything else amiss. Ocasionally I have to exit and re-launch the Bookmarks Library in order for it to be fully functional.

I wonder if there's a relation to Bug 1753463... I'm wondering if somehow GC+CC is involved and breaking the sidebar tree... It's just a theory though.
We could probably try to breakpoint in the result cycle collectors handlersor destructors and see if anything is destroyed while it should be kept alive... Quite strange.

Priority: -- → P3
See Also: → 1753463

It would be interesting to know if this still happens after the fix for Bug 1839304 in Firefox 122

Flags: needinfo?(oardelean)

I could reproduce with a 2023-11-28 Nightly build - the build prior to the fix. Could not reproduce the freeze/delay on Windows 10 using latest Nightly.

Flags: needinfo?(oardelean)

thank you.

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