New issue
Advanced search Search tips

Issue 744671 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Fonts can block on synchronous mojo calls

Project Member Reported by jonr...@chromium.org, Jul 17 2017

Issue description

Font, FontListImpl, & PlatformFontLinux make use of font_service::FontLoader

This can lead to blocking synchronous mojo calls. When these occur, it is possible for the remote service to close during the call. The callsite returns, having failed to load the resource. This occurs before an OnConnectionError is received by the ServiceContext. See  issue 738441  for more details, and how the related crashes were addressed.

However these font_service::FontLoader calls can happen from a broad number of locations. FontList::GetHeight is broadly used, and can enter this blocking state during ash::Shell::Init.

Deriving already loaded fonts can also encounter this. PlatformFontLinux::Derive calls out to the font loader whenever the requested styling/weight differs from the already loaded SkTypeface. I'm not aware enough of the skia api to know if we can use the existing typeface to derive the newly styled one.

It would be good to look at the loading/deriving of fonts, and if possible reduce the dependency on blocking mojo calls.


 
Components: -MUS Internals>Services>WindowService

Sign in to add a comment