Bug 152881 - Crash / hang when installing new font on windows (worse with Tabbed UI)
Summary: Crash / hang when installing new font on windows (worse with Tabbed UI)
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.0.0.3 release
Hardware: All Windows (All)
: high major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: haveBacktrace, perf
Depends on:
Blocks: Fonts Notebookbar-Tabbed
  Show dependency treegraph
 
Reported: 2023-01-04 16:16 UTC by james
Modified: 2023-03-23 17:20 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
example font OccusionGrotesque (49.13 KB, application/zip)
2023-03-23 16:49 UTC, Stéphane Guillou (stragu)
Details
WinDbg break backtrace while TTF font is being loaded (10.60 KB, text/plain)
2023-03-23 17:20 UTC, V Stuart Foote
Details

Note You need to log in before you can comment on or make changes to this bug.
Description james 2023-01-04 16:16:01 UTC
Description:
Libreoffice Crashes if a new font is installed while libreoffice is open. Windows 10 x64

Steps to Reproduce:
1. On a windows 10 x64 PC, Open any Libreoffice application
2. Open a new font (.ttf or .otf)
3. Click install on the font viewer

Actual Results:
Libreoffice Crashes

Expected Results:
Crash should not occure (I would expect to close and re-open libreoffice to show the newly installed fonts)


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 7.4.3.2 (x64) / LibreOffice Community
Build ID: 1048a8393ae2eeec98dff31b5c133c5f1d08b890
CPU threads: 12; OS: Windows 10.0 Build 19045; UI render: Skia/Vulkan; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: CL
Comment 1 Stéphane Guillou (stragu) 2023-03-22 14:19:06 UTC
Thank you James.

I could not reproduce a crash installing a TTF with the Windows Font Viewer while the below versions of writer were open, however it would hang for a few  seconds, with a peak at 100% CPU usage of one core, enough to be a nuisance. This is using the standard toolbar UI.

With the Tabbed UI, it would hang more significantly, up to 15 seconds at 100% of one core. Were you using the Tabbed UI, James?

Versions tested:

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: b5c3a7502f7ff6ccf0f829c1f3a2ba50b8584c41
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-IN (en_GB); UI: en-GB
Calc: threaded

Version: 7.5.1.2 (X86_64) / LibreOffice Community
Build ID: fcbaee479e84c6cd81291587d2ee68cba099e129
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: ja-JP (en_GB); UI: en-GB
Calc: threaded

Version: 7.4.6.1 (x64) / LibreOffice Community
Build ID: cf1691909b7b17c5e258d2635cae0072cf471be7
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded

Version: 7.0.0.3 (x64)
Build ID: 8061b3e9204bef6b321a21033174034a5e2ea88e
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: default; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded

Couldn't reproduce on Ubuntu 20.04 with LO 7.6 alpha0+, so marking it as windows-only.
Comment 2 james 2023-03-22 14:32:06 UTC
Hello,

Yes, I am using the tabbed UI. 

I ahve just tried it again, I can also confirm I'm seeing 100% usage of one core, however in my case, it continues for over a minute. After some time it does start responding again, but stull with the high CPU usage.

Thanks,

James
Comment 3 Stéphane Guillou (stragu) 2023-03-23 16:49:10 UTC
We also have bug 105501 but it's about large fonts and I have tested with 16-KB fonts here, so there's definitely something extremely inefficient happening.
Comment 4 Stéphane Guillou (stragu) 2023-03-23 16:49:38 UTC
Created attachment 186156 [details]
example font OccusionGrotesque
Comment 5 V Stuart Foote 2023-03-23 17:20:33 UTC
Created attachment 186160 [details]
WinDbg break backtrace while TTF font is being loaded

broke into soofice.bin while a TTF font from attachment 186156 [details] was being installed.

Multiple calls to vcl::WindowOutputDevice::ImplRefreshFontData