Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

The unity crash when I use a simple ScriptableObject.

Discussion in '2018.3 Beta' started by watsonsong, Nov 12, 2018.

  1. watsonsong

    watsonsong

    Joined:
    May 13, 2015
    Posts:
    555
    I am using the following code:
    Code (CSharp):
    1.  
    2. using UnityEngine;
    3.  
    4. [CreateAssetMenu(
    5.     fileName = "@TestScriptable",
    6.     menuName = "TestScriptable")]
    7. public class TestScriptable : ScriptableObject
    8. {
    9.     [SerializeField]
    10.     private string[] a;
    11.  
    12.     [SerializeField]
    13.     private string[] b;
    14.  
    15.     [SerializeField]
    16.     private bool c = false;
    17.  
    18.     [SerializeField]
    19.     private string[] d;
    20.  
    21.     [SerializeField]
    22.     private string[] e;
    23.  
    24.     [SerializeField]
    25.     private bool f = false;
    26.  
    27.     [SerializeField]
    28.     private bool g = false;
    29.  
    30.     [SerializeField]
    31.     private bool h = false;
    32.  
    33.     [SerializeField]
    34.     private bool i = false;
    35.  
    36.     [SerializeField]
    37.     private bool j = false;
    38.  
    39.     [SerializeField]
    40.     private int k = -1;
    41.  
    42.     [SerializeField]
    43.     private string[] n;
    44. }
    45.  
    And I create this asset, add some value to the string array, the unity crashed witl the following log:
    Code (CSharp):
    1. ========== OUTPUTTING STACK TRACE ==================
    2.  
    3. 0x00007FF9A6F3A388 (KERNELBASE) RaiseException
    4. 0x0000000142B4DB92 (Unity) CxxThrowException
    5. 0x0000000142B2AE4A (Unity) std::_Xlength_error
    6. 0x0000000140196A00 (Unity) std::vector<char,std::allocator<char> >::_Xlength
    7. 0x00000001409F4773 (Unity) resize_trimmed<std::vector<core::basic_string<char,core::StringStorageDefault<char> >,stl_allocator<core::basic_string<char,core::StringStorageDefault<char> >,1,16> > >
    8. 0x00000001409ECC98 (Unity) SafeBinaryRead::TransferSTLStyleArray<std::vector<core::basic_string<char,core::StringStorageDefault<char> >,stl_allocator<core::basic_string<char,core::StringStorageDefault<char> >,1,16> > >
    9. 0x0000000140C1186E (Unity) TransferField_Array<SafeBinaryRead,Converter_String>
    10. 0x0000000140C12D04 (Unity) TransferField_LinearCollection<JSONRead>
    11. 0x0000000140BAF89E (Unity) TransferScriptingObject<SafeBinaryRead>
    12. 0x0000000140BADFAA (Unity) SerializableManagedRefTransfer::TransferMonoInstance<SafeBinaryRead>
    13. 0x0000000140BC447F (Unity) MonoBehaviour::VirtualRedirectTransfer
    14. 0x0000000140C6ED07 (Unity) ReadObjectFromVector
    15. 0x0000000140ECBADD (Unity) SerializedObject::ApplyModifiedPropertiesWithoutUndo
    16. 0x000000014236A96E (Unity) SerializedObject_CUSTOM_ApplyModifiedProperties
    17. 0x0000000003448963 (Mono JIT Code) (wrapper managed-to-native) UnityEditor.SerializedObject:ApplyModifiedProperties (UnityEditor.SerializedObject)
    18. 0x000000000341AB53 (Mono JIT Code) [D:\OasisUnity\Assets\Oasis\Editor\Profiler\LuaCheckRuleEditor.cs:82] Oasis.Unity.LuaCheckRuleEditor:OnInspectorGUI ()
    19. 0x000000000339DAE2 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:1609] UnityEditor.InspectorWindow:DoOnInspectorGUI (bool,UnityEditor.Editor,bool,UnityEngine.Rect&)
    20. 0x0000000003381D53 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:1456] UnityEditor.InspectorWindow:DrawEditor (UnityEditor.Editor[],int,bool,bool&,UnityEngine.Rect&)
    21. 0x0000000059D23603 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:1301] UnityEditor.InspectorWindow:DrawEditors (UnityEditor.Editor[])
    22. 0x0000000059D1F13B (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\Inspector\InspectorWindow.cs:644] UnityEditor.InspectorWindow:OnGUI ()
    23. 0x000000004C758BC0 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
    24. 0x00007FF96B28BE5B (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke
    25. 0x00007FF96B211E12 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:2919] do_runtime_invoke
    26. 0x00007FF96B21AFF2 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:3071] mono_runtime_invoke_checked
    27. 0x00007FF96B21B789 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:5262] mono_runtime_try_invoke_array
    28. 0x00007FF96B21AF86 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:5140] mono_runtime_invoke_array_checked
    29. 0x00007FF96B1BFED4 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\icall.c:3358] ves_icall_InternalInvoke
    30. 0x000000004B418C56 (Mono JIT Code) (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    31. 0x000000004B41725B (Mono JIT Code) System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
    32. 0x000000004D96F56F (Mono JIT Code) System.Reflection.MethodBase:Invoke (object,object[])
    33. 0x00000000592582D3 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\HostView.cs:342] UnityEditor.HostView:Invoke (string,object)
    34. 0x0000000059258133 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\HostView.cs:337] UnityEditor.HostView:Invoke (string)
    35. 0x0000000059BE2D73 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\HostView.cs:303] UnityEditor.HostView:InvokeOnGUI (UnityEngine.Rect,UnityEngine.Rect)
    36. 0x0000000059BE21E3 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:364] UnityEditor.DockArea:DrawView (UnityEngine.Rect,UnityEngine.Rect,bool,bool,bool)
    37. 0x0000000059BCB2AB (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:323] UnityEditor.DockArea:OldOnGUI ()
    38. 0x000000005939346C (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:244] UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,bool)
    39. 0x000000005939181B (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:440] UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect)
    40. 0x000000005A0CD873 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:421] UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event)
    41. 0x000000005925075B (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:401] UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent (UnityEngine.Experimental.UIElements.EventBase)
    42. 0x000000005922B834 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\EventDispatcher.cs:516] UnityEngine.Experimental.UIElements.EventDispatcher:ProcessEvent (UnityEngine.Experimental.UIElements.EventBase,UnityEngine.Experimental.UIElements.IPanel)
    43. 0x0000000059224C8B (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\EventDispatcher.cs:308] UnityEngine.Experimental.UIElements.EventDispatcher:Dispatch (UnityEngine.Experimental.UIElements.EventBase,UnityEngine.Experimental.UIElements.IPanel,UnityEngine.Experimental.UIElements.DispatchMode)
    44. 0x0000000059224753 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Panel.cs:177] UnityEngine.Experimental.UIElements.BaseVisualElementPanel:SendEvent (UnityEngine.Experimental.UIElements.EventBase,UnityEngine.Experimental.UIElements.DispatchMode)
    45. 0x000000005931EE33 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:248] UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel)
    46. 0x000000005931E59B (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:68] UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent (int,intptr)
    47. 0x000000005931DF04 (Mono JIT Code) [C:\buildslave\unity\build\Modules\IMGUI\GUIUtility.cs:179] UnityEngine.GUIUtility:ProcessEvent (int,intptr)
    48. 0x000000005931E123 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_bool_int_intptr (object,intptr,intptr,intptr)
    49. 0x00007FF96B28BE5B (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke
    50. 0x00007FF96B211E12 (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:2919] do_runtime_invoke
    51. 0x00007FF96B21AE1F (mono-2.0-bdwgc) [c:\buildslave\mono\build\mono\metadata\object.c:2966] mono_runtime_invoke
    52. 0x0000000140BFC28A (Unity) scripting_method_invoke
    53. 0x0000000140BEC85A (Unity) ScriptingInvocation::Invoke
    54. 0x0000000140BE68BA (Unity) ScriptingInvocation::Invoke<bool>
    55. 0x000000014042D4EC (Unity) Scripting::UnityEngine::GUIUtilityProxy::ProcessEvent
    56. 0x000000014128463C (Unity) GUIView::ProcessRetainedMode
    57. 0x0000000141470CFC (Unity) GUIView::OnInputEvent
    58. 0x000000014128454C (Unity) GUIView::ProcessInputEvent
    59. 0x0000000141472284 (Unity) GUIView::ProcessEventMessages
    60. 0x000000014146B359 (Unity) GUIView::GUIViewWndProc
    61. 0x00007FF9A7576CC1 (USER32) CallWindowProcW
    62. 0x00007FF9A7576693 (USER32) DispatchMessageW
    63. 0x000000014148B8FF (Unity) MainMessageLoop
    64. 0x000000014148D3F6 (Unity) WinMain
    65. 0x000000014246DAAA (Unity) __scrt_common_main_seh
    66. 0x00007FF9A8DC3034 (KERNEL32) BaseThreadInitThunk
    67. 0x00007FF9A9DD1461 (ntdll) RtlUserThreadStart
     
  2. watsonsong

    watsonsong

    Joined:
    May 13, 2015
    Posts:
    555
    I first add a value to the string list, fill it to with some text, and then change the array size to 2, the unity is crash~
    And I test this in unity final release version, everything is OK. This crash only happens on unity beta version Unity 2018.3.bx

    I add a bug report: Case 1100052
     
    Last edited: Nov 12, 2018
    Peter77 likes this.
  3. MadeFromPolygons

    MadeFromPolygons

    Joined:
    Oct 5, 2013
    Posts:
    3,982
    This is a definately a bug, although I am able to make scriptable objects fine on the same version. Maybe try using public fields instead of private serialized fields (i know this is bad coding standards wise, but just try it in the interest of hunting down what is causing yours to crash and mine to be okay)
     
  4. LeonhardP

    LeonhardP

    Unity Technologies

    Joined:
    Jul 4, 2016
    Posts:
    3,136
    Thanks for reporting this! We have this fixed in b10.
     
  5. Sosowski

    Sosowski

    Joined:
    May 20, 2013
    Posts:
    5
    Gah! Any chance to backport to 2017.4 LTS?
     
  6. superpig

    superpig

    Drink more water! Unity Technologies

    Joined:
    Jan 16, 2011
    Posts:
    4,659
    As far as we know, the issue was caused by a code change that was only introduced in 2018.3. If you're seeing a similar problem in 2017.4, I think we'll need a new report with repro info, as it'll almost certainly be a different (if similar-looking) issue.