Search Issue Tracker

Won't Fix

Votes

0

Found in

2021.3.27f1

2022.3.3f1

2023.1.1f1

2023.2.0a21

2023.3.0a3

Issue ID

UUM-40623

Regression

No

[Prefiltering] Crash on scripting_array_length when building a project

--

-

Reproduction steps:
1. Open the attached “repro-project“
2. Build And Run
3. Observe the crash

Reproducible with: 2021.3.27f1, 2022.3.3f1, 2023.1.1f1, 2023.2.0a21

Reproduced on: Windows 10 Pro

First few lines of the stack trace:
{{0x00007FFCB87C467E (Unity) scripting_array_length }}
{{0x00007FFCB94F8F76 (Unity) SettingsFilteredShaderVariantEnumeration::SettingsFilteredShaderVariantEnumeration }}
{{0x00007FFCB950B320 (Unity) CompileGpuProgramSnippets }}
{{0x00007FFCBA06C357 (Unity) Shader::CalculateUsedVertexComponents }}
{{0x00007FFCB95AC68F (Unity) CalculateRequiredVertexComponents}}

  1. Resolution Note:

    This is an issue in the package UnityFx.Outline.
    During pre-filtering, we try to walk the fields of classes, we end up trying to walk OutlineLayerCollection as an enumerable, however this class has a null list internally and does not safeguard against and the package code crashes trying to get the enumerable from its own list.
    There is not a way we can safeguard against this as we can't know the internals of their interface implementation. The list seems to be null because the "Outline Layers" field on their render pipeline asset is "Missing".

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.