Search Issue Tracker

Fixed

Fixed in 2.0.3

Votes

0

Found in [Package]

2.0.3

Issue ID

ADDR-3288

Regression

Yes

ScriptableObject causes stack overflow when using generics

Package: Addressables

-

How to reproduce:
1. Open the "ScriptableObjectOverflow" project
2. Navigate to the Project window (Window > Panels > Project)
3. Select "IncorrectType Example" ScriptableObject
4. Select "StackOverflow Example" ScriptableObject
5. Repeat steps 3-4 at least 3 times

Expected result: ScriptableObjects are selectable and no crash happens
Actual result: when "StackOverflow Example" ScriptableObject is selected the Unity Editor silently crashes

Reproduced with: 1.19.6 (2020.3.46f1), 1.21.9 (2020.3.46f1, 2021.3.21f1, 2022.2.12f1, 2023.1.0b9, 2023.2.0a8)
Not reproduced with: 1.17.13 (2020.3.46f1), 1.19.4 (2020.3.46f1)

Reproduced on: Windows 10 (by reporter), Windows 11

Note: Sometimes it is possible to retrieve a Console error log when reproducing the issue

Unity Editor Console error log #1:
(the code on line 4 seems to repeat at least 80+ times)

{code:none}StackOverflowException: The requested operation caused a stack overflow.
System.RuntimeType.GetGenericArguments () (at <252f5a151e57406087568ebdeb88d5fe>:0)
System.Type.get_GenericTypeArguments () (at <252f5a151e57406087568ebdeb88d5fe>:0)
UnityEditor.AddressableAssets.Settings.AssetReferenceDrawerUtilities.GetGenericType (System.Type t) (at Library/PackageCache/com.unity.addressables@1.21.8/Editor/Settings/AssetReferenceDrawerUtilities.cs:385)
UnityEditor.AddressableAssets.Settings.AssetReferenceDrawerUtilities.GetGenericType (System.Type t) (at Library/PackageCache/com.unity.addressables@1.21.8/Editor/Settings/AssetReferenceDrawerUtilities.cs:387)
UnityEditor.AddressableAssets.Settings.AssetReferenceDrawerUtilities.GetGenericType (System.Type t) (at Library/PackageCache/com.unity.addressables@1.21.8/Editor/Settings/AssetReferenceDrawerUtilities.cs:387)
UnityEditor.AddressableAssets.Settings.AssetReferenceDrawerUtilities.GetGenericType (System.Type t) (at Library/PackageCache/com.unity.addressables@1.21.8/Editor/Settings/AssetReferenceDrawerUtilities.cs:387)
UnityEditor.AddressableAssets.Settings.AssetReferenceDrawerUtilities.GetGenericType (System.Type t) (at Library/PackageCache/com.unity.addressables@1.21.8/Editor/Settings/AssetR<message truncated>{code}

Unity Editor Console error log #2:

{code:none}StackOverflowException
UnityEditor.EditorGUI.EndDisabled () (at <2adcb7d86536472884d6a11c9ab8e115>:0)
UnityEditor.EditorGUI+DisabledScope.Dispose () (at <2adcb7d86536472884d6a11c9ab8e115>:0)
UnityEditor.GenericInspector.OnOptimizedInspectorGUI (UnityEngine.Rect contentRect) (at <2adcb7d86536472884d6a11c9ab8e115>:0)
UnityEditor.UIElements.InspectorElement+<>c__DisplayClass62_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <78fefd33b399405d9bd0a4eeae5845ff>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&){code}

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.