Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

font-manager uses 100% CPU/infinite loop #21522

Closed
fubarbaz opened this issue Dec 30, 2016 · 3 comments
Closed

font-manager uses 100% CPU/infinite loop #21522

fubarbaz opened this issue Dec 30, 2016 · 3 comments

Comments

@fubarbaz
Copy link

Font-manager goes into an infinite loop when one does the following:

Steps to reproduce

Install font-manager and gnome3.adwaita-icon-theme
Start font-manager
Resize the left pane by moving the splitter to the right.
Click on Vendor
Click on Google

@JerryCasiano
Copy link

Does this only occur when clicking that specific vendor?
If so, how far down the listing is this vendor on your machine?
Also, is there any output during the loop if run with the verbose flag?

In any case, I'll try to reproduce this tonight. Thanks for the detailed report.

@fubarbaz
Copy link
Author

Same with Adobe

font-manager -V

[WARNING 17:34:25] Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
[DEBUG 17:34:25] [Main:299] Font Manager 0.7.3
[DEBUG 17:34:25] [Main:300] Using GLib 2.48.2
[DEBUG 17:34:25] [Main:301] Using JSON-GLib 1.2.0
[DEBUG 17:34:25] [Main:302] Using SQLite 3.14.2
[DEBUG 17:34:25] [Main:303] Using FontConfig 2.11.01
[DEBUG 17:34:25] [Main:304] Using Pango 1.40.2
[DEBUG 17:34:25] [Main:305] Using GTK+ 3.20.9
[DEBUG 17:34:25] [Main:307] Screen is composited. Client side decorations enabled.
[DEBUG 17:34:25] [Main:311] Running on KDE
[DEBUG 17:34:25] [FontPreviewPane:148] Selected preview mode : Preview
[WARNING 17:34:25] [Gtk] Could not load a pixbuf from /org/gtk/libgtk/theme/Adwaita/assets/bullet-symbolic.svg.This may indicate that pixbuf loaders or the mime database could not be found.
[DEBUG 17:34:25] [MainWindow:352] Mode changed : Browse
[DEBUG 17:34:26] Added default user font directory to configuration
[DEBUG 17:34:26] [Database:80] Starting database synchronization : Font table
[DEBUG 17:34:26] SQLite : SELECT DISTINCT filepath FROM Fonts  
[DEBUG 17:34:26] SQLite : INSERT OR REPLACE INTO Fonts VALUES (NULL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);
[DEBUG 17:34:26] [Database:119] Database synchronization complete : Font table
[DEBUG 17:34:26] SQLite : SELECT DISTINCT * FROM Fonts WHERE filepath="/nix/store/7jvj2w2sfvin32fh7gx9mgsj5lmjnix4-corefonts-1/share/fonts/truetype/andalemo.ttf" 
[DEBUG 17:34:26] [FontListTree:168] Selected font : Andale Mono
[DEBUG 17:34:26] SQLite : SELECT DISTINCT spacing FROM Fonts ORDER BY spacing;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT slant FROM Fonts ORDER BY slant;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT weight FROM Fonts ORDER BY weight;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT width FROM Fonts ORDER BY width;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT filetype FROM Fonts ORDER BY filetype;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT license_type FROM Fonts ORDER BY license_type;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT vendor FROM Fonts ORDER BY vendor;
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE owner!=0 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE owner=0 AND filepath LIKE "/home/ron/.local/share/fonts%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose IS NOT NULL 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose LIKE "0:%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose LIKE "1:%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose LIKE "2:%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose LIKE "3:%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose LIKE "4:%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE panose LIKE "5:%" 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE spacing='0' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE spacing='90' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE spacing='100' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE spacing='110' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE slant='0' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE slant='100' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE slant='110' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='0' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='40' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='50' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='75' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='80' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='100' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='180' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='200' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='205' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='210' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE weight='215' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE width='75' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE width='87' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE width='100' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE filetype='BDF' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE filetype='CFF' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE filetype='OpenType' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE filetype='PCF' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE filetype='TrueType' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE filetype='Type 1' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='Apache 2.0' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='Bitstream Vera License' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='CC-BY' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='GNU General Public License' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='GPL with font exception' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='Monotype Imaging EULA' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='Public Domain (not a license)' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='SIL Open Font License' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='Ubuntu Font License 1.0' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE license_type='Unknown License' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Adobe' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='B&H' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Bitstream' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='FontForge' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='FreeType' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='GNU' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Google' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Microsoft Corporation' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Misc' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Monotype Imaging' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='URW' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='Unknown Vendor' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts WHERE vendor='xos4' 
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] SQLite : SELECT DISTINCT family, font_description FROM Fonts  
[DEBUG 17:34:26] [State:218] Restoring previous selection for CollectionTree :: 0
[DEBUG 17:34:26] [State:220] Ignoring non-existent path : 0
[DEBUG 17:34:26] [State:218] Restoring previous selection for CategoryTree :: 0
[DEBUG 17:34:26] SQLite : SELECT DISTINCT * FROM Fonts WHERE filepath="/nix/store/7jvj2w2sfvin32fh7gx9mgsj5lmjnix4-corefonts-1/share/fonts/truetype/andalemo.ttf" 
[DEBUG 17:34:26] [FontListTree:168] Selected font : Andale Mono
[DEBUG 17:34:26] [CategoryTree:125] Selected category : All
[DEBUG 17:34:28] [State:218] Restoring previous selection for FontList :: 0
[DEBUG 17:34:28] SQLite : SELECT DISTINCT * FROM Fonts WHERE filepath="/nix/store/7jvj2w2sfvin32fh7gx9mgsj5lmjnix4-corefonts-1/share/fonts/truetype/andalemo.ttf" 
[DEBUG 17:34:28] [FontListTree:168] Selected font : Andale Mono
[DEBUG 17:34:32] SQLite : SELECT DISTINCT * FROM Fonts WHERE filepath="/nix/store/7jvj2w2sfvin32fh7gx9mgsj5lmjnix4-corefonts-1/share/fonts/truetype/andalemo.ttf" 
[DEBUG 17:34:32] [FontListTree:168] Selected font : Andale Mono
[DEBUG 17:34:32] [CategoryTree:125] Selected category : Vendor
[DEBUG 17:34:35] SQLite : SELECT DISTINCT * FROM Fonts WHERE filepath="/nix/store/2yr9aa48a8rgxn6ny1w1nsys1115v6kf-noto-fonts-cjk-1.004/share/fonts/noto/NotoSansCJK.ttc" 
[DEBUG 17:34:35] [FontListTree:168] Selected font : Noto Sans CJK JP
[DEBUG 17:34:35] [CategoryTree:125] Selected category : Adobe

@samueldr
Copy link
Member

Thanks for the report.

Tested locally, 895 fonts (don't ask) and it sits at ~0% cpu usage at rest.

When following the reproduction instructions it does use 100% cpu for a small while, but goes back to 0%.

Verified using:

/nix/store/jlqk1dcy2zbiwb01gdm83iq42fyv3r0l-font-manager-0.7.3

With my lack of repro, plus the time since last activity, I'm closing; do re-open if you still can reproduce the issue with recent revisions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants