Search Issue Tracker

Duplicate

Votes

0

Found in

6000.0.64f1

6000.3.1f1

6000.4.0b1

6000.5.0a3

Issue ID

UUM-129726

Regression

No

Crash on tlsf_free when triggering a call to FontEngine.LoadFontFace for the default Editor font while Glyphs are being generated

-

Steps to reproduce:
1. Open the “Attached project”
2. Make sure the Inspector window is open and select “InputSystem_Actions” through the Project Window
3. Go to “Windows/Text/FontAssetCreator” through the Main Menu
4. Select “SoeiReishotai” as the Source Font and “Japanese-Lipsum” for the Character File
5. Click on “Generate Font Atlas”
6. Observe the crash or the font being generated with another font instead of SoeiReishotai

Reproducible with versions: 6000.0.64f1, 6000.3.1f1, 6000.4.0b1, 6000.5.0a3
Couldn’t test with versions: 2023.1.0a26 (Glyphs get stuck while generating)

Reproducible on: macOS 15.7.2 (M1 Max)
Not reproducible on: no other environment tested

Notes:
- The crash is inconsistent
- Freshly extracting the project before reproduction gives a more consistent crash
- If no crash occurs, closing the Editor will make Unity unresponsive

First few lines of StackTrace:
#0 0x00000106d1ea58 in tlsf_free
#1 0x0000010460224c in DynamicHeapAllocator::Deallocate(void)
#2 0x0000010460f1dc in DualThreadAllocator<DynamicHeapAllocator>::TryDeallocate(void
)
#3 0x00000104609720 in MemoryManager::TryDeallocateWithLabel(void, MemLabelId, char const, int)
#4 0x00000104604068 in free_alloc_internal(void, MemLabelId const&, char const, int)

  1. Resolution Note:

    This issue is not specific to the Font Asset Creator.

    The issue occurs as a result of the Editor trying to add glyphs to an Editor font asset where it ends up loading a new font face while the Font Asset Creator is generating an atlas texture using the previously loaded font face.

    Until a fix for this lands, the customer can get around the issue by commenting out the following 3 lines that update the progress bar / status text which result in the Editor loading a new font face on the Mac.
    m_AtlasGenerationProgressLabel = "Packing glyphs - Pass (" + iteration + ")";
    m_AtlasGenerationProgressLabel = "Packing glyphs...";
    m_AtlasGenerationProgressLabel = "Rendering glyphs...";
    Duplicate of https://issuetracker.unity3d.com/product/unity/issues/guid/UUM-125366

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.