First of all, this is a great update. But also, I noticed the blog post mentions “major refactoring of the Undo system”. My latest 2022.1 editor crashes nowadays daily deep in some undo internals randomly. Didn’t use to do that before jumping to 2022.1. So if at all related, I really hope you can devote some serious time now to get the undo bugs worked out too. There’s been way too many lately. I can’t really make a reliable bug report of this as it’s so random, but here’s some example stack traces under spoiler tags. (There’s also the undo bugs ones already in the issue system, like undo getting child ordering wrong etc. which need a lot of love.)
Received signal SIGSEGV
Obtained 15 stack frames
0x00007ff780843614 (Unity) tlsf_free
0x00007ff77e69937e (Unity) DynamicHeapAllocator::smile:eallocate
0x00007ff77e6a7860 (Unity) DualThreadAllocator<DynamicHeapAllocator>::TryDeallocate
0x00007ff77e699b12 (Unity) MemoryManager::smile:eallocate
0x00007ff77e6a272a (Unity) free_alloc_internal
0x00007ff77fccec33 (Unity) UndoManager::RegisterUndoOperation
0x00007ff77fcce77f (Unity) UndoManager::RegisterUndoInternal
0x00007ff77fcce586 (Unity) UndoManager::RegisterUndo
0x00007ff77fcb6d56 (Unity) PropertyUndoManager::Flush
0x00007ff77f980fb9 (Unity) Application::TickTimer
0x00007ff77fde759a (Unity) MainMessageLoop
0x00007ff77fdec3b4 (Unity) WinMain
0x00007ff78116448e (Unity) __scrt_common_main_seh
0x00007ffa07c874b4 (KERNEL32) BaseThreadInitThunk
0x00007ffa07f626a1 (ntdll) RtlUserThreadStart
called a function with an invalid parameter
Obtained 21 stack frames
0x00007ff71264f9fd (Unity) StackWalker::GetCurrentCallstack
0x00007ff7126566f9 (Unity) StackWalker::ShowCallstack
0x00007ff7135f1943 (Unity) GetStacktrace
0x00007ff712655736 (Unity) winutils::PrintStackTrace
0x00007ff71264eb21 (Unity) winutils::CrashHandler::smile:efaultInvalidParameterHandler
0x00007ff7149a28d1 (Unity) invalid_parameter_internal
0x00007ff7149a2826 (Unity) invalid_parameter
0x00007ff7149a2979 (Unity) invalid_parameter_noinfo_noreturn
0x00007ff7134d343f (Unity) UndoBase::~UndoBase
0x00007ff7134d3654 (Unity) UndoBase::`vector deleting destructor'
0x00007ff7134dbff0 (Unity) UndoManager::PopFrontIfExceedsLimit
0x00007ff7134deba5 (Unity) UndoManager::RegisterUndoOperation
0x00007ff7134de77f (Unity) UndoManager::RegisterUndoInternal
0x00007ff7134de586 (Unity) UndoManager::RegisterUndo
0x00007ff7134c6d56 (Unity) PropertyUndoManager::Flush
0x00007ff713190fb9 (Unity) Application::TickTimer
0x00007ff7135f759a (Unity) MainMessageLoop
0x00007ff7135fc3b4 (Unity) WinMain
0x00007ff71497448e (Unity) __scrt_common_main_seh
0x00007ffa07c874b4 (KERNEL32) BaseThreadInitThunk
0x00007ffa07f626a1 (ntdll) RtlUserThreadStart
Received signal SIGSEGV
Obtained 11 stack frames
0x00007ff6713b77ab (Unity) core::StringStorageDefault<char>::assign
0x00007ff6730ca85d (Unity) UndoManager::GetPriorityName
0x00007ff6730d1072 (Unity) UndoManager::UpdateUndoName
0x00007ff672d6dd0a (Unity) PlayerLoopController::ExitPlayMode
0x00007ff672d7d784 (Unity) PlayerLoopController::SetIsPlaying
0x00007ff672d80e80 (Unity) Application::TickTimer
0x00007ff6731e759a (Unity) MainMessageLoop
0x00007ff6731ec3b4 (Unity) WinMain
0x00007ff67456448e (Unity) __scrt_common_main_seh
0x00007ffad6f774b4 (KERNEL32) BaseThreadInitThunk
0x00007ffad71426a1 (ntdll) RtlUserThreadStart
Received signal SIGSEGV
Obtained 117 stack frames
0x00007ff6730c6b03 (Unity) UndoManager::ClearUndoSceneHandle
0x00007ff673063df7 (Unity) EditorSceneManager::ClosePreviewScene
0x00007ff6716ea53f (Unity) EditorSceneManager_CUSTOM_ClosePreviewScene_Injected
0x000001c73a01c00a (Mono JIT Code) (wrapper managed-to-native) UnityEditor.SceneManagement.EditorSceneManager:ClosePreviewScene_Injected (UnityEngine.SceneManagement.Scene&)
0x000001c73a01bf33 (Mono JIT Code) UnityEditor.SceneManagement.EditorSceneManager:ClosePreviewScene (UnityEngine.SceneManagement.Scene)
0x000001c73a01bdd3 (Mono JIT Code) UnityEditor.PreviewScene:smile:ispose ()
0x000001c73a01bd33 (Mono JIT Code) UnityEditor.PreviewRenderUtility:Cleanup ()
0x000001c73a01bc23 (Mono JIT Code) UnityEditor.Texture3DPreview:OnDisable ()
0x000001c3cf669018 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007ffa0fe30384 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke
0x00007ffa0fd6eb34 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke
0x00007ffa0fd6eccc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke
0x00007ff672163f14 (Unity) scripting_method_invoke
0x00007ff672143864 (Unity) ScriptingInvocation::Invoke
0x00007ff67214394e (Unity) ScriptingInvocation::InvokeChecked
0x00007ff6721d8d66 (Unity) SerializableManagedRef::CallMethod
0x00007ff67213db7f (Unity) MonoBehaviour::WillDestroyComponent
0x00007ff671df1f6b (Unity) DestroyObjectHighLevel_Internal
0x00007ff671df1bc4 (Unity) DestroyObjectHighLevel
0x00007ff67214226e (Unity) Scripting::smile:estroyObjectFromScriptingImmediate
0x00007ff671356364 (Unity) Object_CUSTOM_DestroyImmediate
0x000001c3ce5e0625 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.Object:smile:estroyImmediate (UnityEngine.Object,bool)
0x000001c3ce5e0563 (Mono JIT Code) UnityEngine.Object:smile:estroyImmediate (UnityEngine.Object)
0x000001c73a01b93b (Mono JIT Code) UnityEditor.TextureInspector:OnDisable ()
0x000001c3cf669018 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007ffa0fe30384 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke
0x00007ffa0fd6eb34 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke
0x00007ffa0fd6eccc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke
0x00007ff672163f14 (Unity) scripting_method_invoke
0x00007ff672143864 (Unity) ScriptingInvocation::Invoke
0x00007ff67214394e (Unity) ScriptingInvocation::InvokeChecked
0x00007ff6721d8d66 (Unity) SerializableManagedRef::CallMethod
0x00007ff67213db7f (Unity) MonoBehaviour::WillDestroyComponent
0x00007ff671df1f6b (Unity) DestroyObjectHighLevel_Internal
0x00007ff671df1bc4 (Unity) DestroyObjectHighLevel
0x00007ff67214226e (Unity) Scripting::smile:estroyObjectFromScriptingImmediate
0x00007ff671356364 (Unity) Object_CUSTOM_DestroyImmediate
0x000001c3ce5e0625 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.Object:smile:estroyImmediate (UnityEngine.Object,bool)
0x000001c3ce5e0563 (Mono JIT Code) UnityEngine.Object:smile:estroyImmediate (UnityEngine.Object)
0x000001c41aefa33b (Mono JIT Code) UnityEditor.AssetPreviewUpdater:CreatePreview (UnityEngine.Object,UnityEngine.Object[],string,int,int)
0x000001c41aefa003 (Mono JIT Code) UnityEditor.AssetPreviewUpdater:CreatePreviewForAsset (UnityEngine.Object,UnityEngine.Object[],string)
0x000001c41aefa0c0 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_object_object_object_object (object,intptr,intptr,intptr)
0x00007ffa0fe30384 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke
0x00007ffa0fd6eb34 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke
0x00007ffa0fd6eccc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke
0x00007ff672163f14 (Unity) scripting_method_invoke
0x00007ff672143864 (Unity) ScriptingInvocation::Invoke
0x00007ff6734c717c (Unity) MonoCreateAssetPreview
0x00007ff6734d18ca (Unity) MonoCreateAssetPreviewDontUnload
0x00007ff6734d46ff (Unity) PreviewTextureManager::UpdatePreviewIfDirty
0x00007ff6734cf1b5 (Unity) PreviewTextureManager::GetPreview
0x00007ff6719d3941 (Unity) AssetPreview_CUSTOM_GetAssetPreview
0x000001c41aebcc45 (Mono JIT Code) (wrapper managed-to-native) UnityEditor.AssetPreview:GetAssetPreview (int,int)
0x000001c41aebcb8b (Mono JIT Code) UnityEditor.AssetPreview:GetAssetPreview (int)
0x000001c41aebcb33 (Mono JIT Code) UnityEditor.AssetPreview:GetAssetPreview (UnityEngine.Object)
0x000001c73a01727b (Mono JIT Code) UnityEditor.EditorGUI:smile:rawObjectFieldLargeThumb (UnityEngine.Rect,int,UnityEngine.Object,UnityEngine.GUIContent)
0x000001c41aed5f4b (Mono JIT Code) UnityEditor.EditorGUI:smile:oObjectField (UnityEngine.Rect,UnityEngine.Rect,int,UnityEngine.Object,UnityEngine.Object,System.Type,System.Type,UnityEditor.SerializedProperty,UnityEditor.EditorGUI/ObjectFieldValidator,bool,UnityEngine.GUIStyle,UnityEngine.GUIStyle)
0x000001c41aed39cb (Mono JIT Code) UnityEditor.EditorGUI:smile:oObjectField (UnityEngine.Rect,UnityEngine.Rect,int,UnityEngine.Object,UnityEngine.Object,System.Type,UnityEditor.SerializedProperty,UnityEditor.EditorGUI/ObjectFieldValidator,bool,UnityEngine.GUIStyle)
0x000001c73a00787b (Mono JIT Code) UnityEditor.EditorGUI:smile:oObjectField (UnityEngine.Rect,UnityEngine.Rect,int,UnityEngine.Object,UnityEngine.Object,System.Type,UnityEditor.EditorGUI/ObjectFieldValidator,bool,UnityEngine.GUIStyle)
0x000001c73a007273 (Mono JIT Code) UnityEditor.MaterialEditor:TexturePropertyBody (UnityEngine.Rect,UnityEditor.MaterialProperty)
0x000001c73a0050e3 (Mono JIT Code) UnityEditor.MaterialEditor:TextureProperty (UnityEngine.Rect,UnityEditor.MaterialProperty,string,string,bool)
0x000001c73a004c8b (Mono JIT Code) UnityEditor.MaterialEditor:TextureProperty (UnityEngine.Rect,UnityEditor.MaterialProperty,string,bool)
0x000001c73a004bd3 (Mono JIT Code) UnityEditor.MaterialEditor:TextureProperty (UnityEngine.Rect,UnityEditor.MaterialProperty,string)
0x000001c73a00487b (Mono JIT Code) UnityEditor.MaterialEditor:smile:efaultShaderPropertyInternal (UnityEngine.Rect,UnityEditor.MaterialProperty,UnityEngine.GUIContent)
0x000001c73a0045d3 (Mono JIT Code) UnityEditor.MaterialEditor:ShaderPropertyInternal (UnityEngine.Rect,UnityEditor.MaterialProperty,UnityEngine.GUIContent)
0x000001c73a003ea3 (Mono JIT Code) UnityEditor.MaterialEditor:ShaderProperty (UnityEngine.Rect,UnityEditor.MaterialProperty,UnityEngine.GUIContent,int)
0x000001c73a00383b (Mono JIT Code) UnityEditor.MaterialEditor:ShaderProperty (UnityEditor.MaterialProperty,UnityEngine.GUIContent,int)
0x000001c73a00378b (Mono JIT Code) UnityEditor.MaterialEditor:ShaderProperty (UnityEditor.MaterialProperty,UnityEngine.GUIContent)
0x000001c73a003713 (Mono JIT Code) UnityEditor.MaterialEditor:ShaderProperty (UnityEditor.MaterialProperty,string)
0x000001c73a003663 (Mono JIT Code) [ShaderGraphPropertyDrawers.cs:284] UnityEditor.ShaderGraph.Drawing.ShaderGraphPropertyDrawers:smile:rawTexture2DProperty (UnityEditor.MaterialEditor,UnityEditor.MaterialProperty)
0x000001c73a00320b (Mono JIT Code) [ShaderGraphPropertyDrawers.cs:171] UnityEditor.ShaderGraph.Drawing.ShaderGraphPropertyDrawers:smile:rawMaterialProperty (UnityEditor.MaterialEditor,UnityEditor.MaterialProperty,UnityEditor.ShaderGraph.Internal.PropertyType,bool,UnityEditor.ShaderGraph.KeywordType)
0x000001c73a00285b (Mono JIT Code) [ShaderGraphPropertyDrawers.cs:98] UnityEditor.ShaderGraph.Drawing.ShaderGraphPropertyDrawers:smile:rawCategory (UnityEditor.MaterialEditor,System.Collections.Generic.IEnumerable`1<UnityEditor.MaterialProperty>,UnityEditor.ShaderGraph.MinimalCategoryData)
0x000001c73a0024bb (Mono JIT Code) [ShaderGraphPropertyDrawers.cs:72] UnityEditor.ShaderGraph.Drawing.ShaderGraphPropertyDrawers:smile:rawShaderGraphGUI (UnityEditor.MaterialEditor,System.Collections.Generic.IEnumerable`1<UnityEditor.MaterialProperty>,System.Collections.Generic.IEnumerable`1<UnityEditor.ShaderGraph.MinimalCategoryData>)
0x000001c73a001843 (Mono JIT Code) [ShaderGraphPropertyDrawers.cs:33] UnityEditor.ShaderGraph.Drawing.ShaderGraphPropertyDrawers:smile:rawShaderGraphGUI (UnityEditor.MaterialEditor,System.Collections.Generic.IEnumerable`1<UnityEditor.MaterialProperty>)
0x000001c73a0016b3 (Mono JIT Code) [BaseShaderGUI.cs:286] UnityEditor.BaseShaderGUI:smile:rawShaderGraphProperties (UnityEngine.Material,System.Collections.Generic.IEnumerable`1<UnityEditor.MaterialProperty>)
0x000001c73a001633 (Mono JIT Code) [ShaderGraphUnlitGUI.cs:37] UnityEditor.ShaderGraphUnlitGUI:smile:rawSurfaceInputs (UnityEngine.Material)
0x000001c739ff9c2c (Mono JIT Code) [MaterialHeaderScopeList.cs:68] UnityEditor.Rendering.MaterialHeaderScopeList:smile:rawHeaders (UnityEditor.MaterialEditor,UnityEngine.Material)
0x000001c739ff9a4b (Mono JIT Code) [BaseShaderGUI.cs:272] UnityEditor.BaseShaderGUI:ShaderPropertiesGUI (UnityEngine.Material)
0x000001c739ff6ddb (Mono JIT Code) [BaseShaderGUI.cs:247] UnityEditor.BaseShaderGUI:OnGUI (UnityEditor.MaterialEditor,UnityEditor.MaterialProperty[])
0x000001c739ff5aa0 (Mono JIT Code) UnityEditor.MaterialEditor:PropertiesGUI ()
0x000001c739ff50f3 (Mono JIT Code) UnityEditor.MaterialEditor:OnInspectorGUI ()
0x000001c41aec7b74 (Mono JIT Code) UnityEditor.UIElements.InspectorElement/<>c__DisplayClass62_0:<CreateIMGUIInspectorFromEditor>b__0 ()
0x000001c57db5829f (Mono JIT Code) UnityEngine.UIElements.IMGUIContainer:smile:oOnGUI (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,bool,UnityEngine.Rect,System.Action,bool)
0x000001c57dc1e0bb (Mono JIT Code) UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,System.Action,bool)
0x000001c57dc1be0b (Mono JIT Code) UnityEngine.UIElements.IMGUIContainer:smile:oIMGUIRepaint ()
0x000001c57dc1a21c (Mono JIT Code) UnityEngine.UIElements.UIR.RenderChainCommand:ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams,single,System.Exception&)
0x000001c57dc188c3 (Mono JIT Code) UnityEngine.UIElements.UIR.UIRenderDevice:EvaluateChain (UnityEngine.UIElements.UIR.RenderChainCommand,UnityEngine.Material,UnityEngine.Material,UnityEngine.Texture,UnityEngine.Texture,single,Unity.Collections.NativeSlice`1<UnityEngine.UIElements.UIR.Transform3x4>,Unity.Collections.NativeSlice`1<UnityEngine.Vector4>,UnityEngine.MaterialPropertyBlock,bool,System.Exception&)
0x000001c57dc15283 (Mono JIT Code) UnityEngine.UIElements.UIR.RenderChain:Render ()
0x000001c57db7b9c3 (Mono JIT Code) UnityEngine.UIElements.UIRRepaintUpdater:Update ()
0x000001c57db0d42e (Mono JIT Code) UnityEngine.UIElements.VisualTreeUpdater:UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase)
0x000001c57db0d33b (Mono JIT Code) UnityEngine.UIElements.Panel:UpdateForRepaint ()
0x000001c57db0b71b (Mono JIT Code) UnityEngine.UIElements.Panel:Repaint (UnityEngine.Event)
0x000001c57db0a87c (Mono JIT Code) UnityEngine.UIElements.UIElementsUtility:smile:oDispatch (UnityEngine.UIElements.BaseVisualElementPanel)
0x000001c57db0a523 (Mono JIT Code) UnityEngine.UIElements.UIElementsUtility:UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (int,intptr,bool&)
0x000001c57db0a2df (Mono JIT Code) UnityEngine.UIElements.UIEventRegistration:ProcessEvent (int,intptr)
0x000001c57db0a1fb (Mono JIT Code) UnityEngine.UIElements.UIEventRegistration/<>c:<.cctor>b__1_2 (int,intptr)
0x000001c57db0a04d (Mono JIT Code) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
0x000001c57db0a106 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_void_int_intptr_intptr& (object,intptr,intptr,intptr)
0x00007ffa0fe30384 (mono-2.0-bdwgc) [mini-runtime.c:3445] mono_jit_runtime_invoke
0x00007ffa0fd6eb34 (mono-2.0-bdwgc) [object.c:3066] do_runtime_invoke
0x00007ffa0fd6eccc (mono-2.0-bdwgc) [object.c:3113] mono_runtime_invoke
0x00007ff672163f14 (Unity) scripting_method_invoke
0x00007ff672143864 (Unity) ScriptingInvocation::Invoke
0x00007ff67213e485 (Unity) ScriptingInvocation::Invoke<void>
0x00007ff6722896ba (Unity) Scripting::UnityEngine::GUIUtilityProxy::ProcessEvent
0x00007ff672c512b8 (Unity) GUIView::ProcessRetainedMode
0x00007ff673211ff3 (Unity) GUIView::OnInputEvent
0x00007ff672c510c5 (Unity) GUIView::ProcessInputEvent
0x00007ff67320ab9d (Unity) GUIView::smile:oPaint
0x00007ff673213fcc (Unity) GUIView::RepaintAll
0x00007ff672d82c8e (Unity) PlayerLoopController::UpdateScene
0x00007ff672d80bf2 (Unity) Application::TickTimer
0x00007ff6731e759a (Unity) MainMessageLoop
0x00007ff6731ec3b4 (Unity) WinMain
0x00007ff67456448e (Unity) __scrt_common_main_seh
0x00007ffad6f774b4 (KERNEL32) BaseThreadInitThunk
0x00007ffad71426a1 (ntdll) RtlUserThreadStart