Using a soft font causes the Atlas engine to crash #19930

Open
opened 2026-01-31 06:57:47 +00:00 by claunia · 0 comments
Owner

Originally created by @j4james on GitHub (May 23, 2023).

Windows Terminal version

1.18.1421.0

Windows build number

10.0.19045.2913

Other Software

No response

Steps to reproduce

  1. Make sure the Atlas engine is activated in the Advanced profile settings.
  2. Open a bash shell.
  3. Execute printf "\eP0;1;1;4;2;1{B~~~~~~~~/~~~~~~~~\e\\"

Expected Behavior

Most characters output at this point should be reverse question marks, except for ! which should map to a solid block.

Actual Behavior

The terminal crashes. This is caused by a null pointer reference when accessing the fontFaceEntry.fontFace field in BackendD3D::_initializeFontFaceEntry.

c589784b54/src/renderer/atlas/BackendD3D.cpp (L1158)

Just based on a brief scan of the code, I got the impression that it's expected for the fontFace to be null when you have a soft font, so it may just be that this method hasn't allowed for that case. This appears to be a regression introduced in PR #15343.

Originally created by @j4james on GitHub (May 23, 2023). ### Windows Terminal version 1.18.1421.0 ### Windows build number 10.0.19045.2913 ### Other Software _No response_ ### Steps to reproduce 1. Make sure the Atlas engine is activated in the Advanced profile settings. 2. Open a bash shell. 3. Execute `printf "\eP0;1;1;4;2;1{B~~~~~~~~/~~~~~~~~\e\\"` ### Expected Behavior Most characters output at this point should be reverse question marks, except for `!` which should map to a solid block. ### Actual Behavior The terminal crashes. This is caused by a null pointer reference when accessing the `fontFaceEntry.fontFace` field in `BackendD3D::_initializeFontFaceEntry`. https://github.com/microsoft/terminal/blob/c589784b54d46187289651fa6c04c49fe05826aa/src/renderer/atlas/BackendD3D.cpp#L1158 Just based on a brief scan of the code, I got the impression that it's expected for the `fontFace` to be null when you have a soft font, so it may just be that this method hasn't allowed for that case. This appears to be a regression introduced in PR #15343.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#19930