The text cache cleanup was tied to the GFXDevice cleanup, executing every domain reload. This behavior was modified at some point, resulting in the GFXDevice cleanup no longer being called automatically. Despite this change, the text cache still requires cleanup. Failure to do so leads to invalid material references post-domain reload.
Reproducible with: 2023.1.17f1, 2023.2.0b14, 2023.3.0a10
Not reproducible with: 2021.3.31f1, 2022.3.11f1
Reproduced on: Windows 10 (by reporters), Windows 11 (by reporters), macOS 13.5.2 (M1) (by reporters)
Not reproducible on: No other environment tested
Note: Users have reported this issue manifesting when performing various steps
First few lines of the stack trace:
0x00007FFC0396116C (Unity) PPtr<Shader>::operator Shader * __ptr64
0x00007FFC03E3E40D (Unity) Material::GetShader
0x00007FFC0474F9FD (Unity) GUIStyle::RenderText
0x00007FFC0474C1F4 (Unity) GUIStyle::DrawContent
0x00007FFC034CE970 (Unity) GUIStyle_CUSTOM_Internal_DrawContent_Injected