Unity-Technologies / 2d-extras

Fun 2D Stuff that we'd like to share!
Other
1.54k stars 342 forks source link

RandomBrush causes Crashes 2019.1.0.f2 #114

Open pmurph0305 opened 5 years ago

pmurph0305 commented 5 years ago

While adding flood fill and box fill to the random brush, there was occasional crashing when undoing operations. I checked, and these crashes also occur with unmodified RandomBrush Paint mode in 2d-extras with no changes to it. Unfortunately, I don't know the steps to reproduce it, as it seemed to only happen occasionally after undoing an operation.

After checking that the unmodified version also causes crashes, I noticed the use of EditorUtility.SetDirty(randomBrush). After removing this from OnPaintInspectorGUI(), I haven't experienced any crashes while using the tool. This could just be coincidence, but since removing it has fixed the crashes for on my end, I thought I would mention it.

Editor.log error.log Also the stacktrack from the error.log:

========== OUTPUTTING STACK TRACE ==================

0x00007FF69C44730E (Unity) BuildRenderObjectData
0x00007FF69C44AA15 (Unity) DoRenderLoop
0x00007FF69C3A120D (Unity) Camera::DoRender
0x00007FF69B3E211E (Unity) Camera::RenderEditorCamera
0x00007FF69B3E2313 (Unity) Camera::RenderEditorCamera
0x00007FF69C0589B4 (Unity) Handles_CUSTOM_Internal_DrawCameraWithGrid
0x000002832375149B (Mono JIT Code) (wrapper managed-to-native) UnityEditor.Handles:Internal_DrawCameraWithGrid (UnityEngine.Camera,UnityEditor.DrawCameraMode,UnityEditor.DrawGridParameters&,bool)
0x0000028322630B53 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\Handles.cs:1351] UnityEditor.Handles:DrawCameraImpl (UnityEngine.Rect,UnityEngine.Camera,UnityEditor.DrawCameraMode,bool,UnityEditor.DrawGridParameters,bool,bool) 
0x000002832262FB83 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\Handles.cs:1375] UnityEditor.Handles:DrawCameraStep1 (UnityEngine.Rect,UnityEngine.Camera,UnityEditor.DrawCameraMode,UnityEditor.DrawGridParameters,bool) 
0x000002832262E43B (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\SceneView\SceneView.cs:1739] UnityEditor.SceneView:DoDrawCamera (UnityEngine.Rect,UnityEngine.Rect,bool&) 
0x00000283225DBD83 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\SceneView\SceneView.cs:2316] UnityEditor.SceneView:OnGUI () 
0x0000028300FD3A30 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007FFEE4E7BBCB (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke 
0x00007FFEE4E02252 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:2919] do_runtime_invoke 
0x00007FFEE4E0B432 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:3071] mono_runtime_invoke_checked 
0x00007FFEE4E0BBC9 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:5262] mono_runtime_try_invoke_array 
0x00007FFEE4E0B3C6 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:5140] mono_runtime_invoke_array_checked 
0x00007FFEE4DB0254 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\icall.c:3358] ves_icall_InternalInvoke 
0x000002831F8043D6 (Mono JIT Code) (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
0x000002831F80299B (Mono JIT Code) System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
0x000002831FC2FF7F (Mono JIT Code) System.Reflection.MethodBase:Invoke (object,object[])
0x00000283212FBE93 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\HostView.cs:345] UnityEditor.HostView:Invoke (string,object) 
0x00000283212FBCE3 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\HostView.cs:340] UnityEditor.HostView:Invoke (string) 
0x00000283225D662B (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\HostView.cs:308] UnityEditor.HostView:InvokeOnGUI (UnityEngine.Rect,UnityEngine.Rect) 
0x00000283225D5ADB (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:374] UnityEditor.DockArea:DrawView (UnityEngine.Rect,UnityEngine.Rect,bool,bool) 
0x00000283225BECA3 (Mono JIT Code) [C:\buildslave\unity\build\Editor\Mono\GUI\DockArea.cs:346] UnityEditor.DockArea:OldOnGUI () 
0x00000283215B6831 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:278] UnityEngine.UIElements.IMGUIContainer:DoOnGUI (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect,bool,UnityEngine.Rect) 
0x00000283215B481B (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:483] UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event,UnityEngine.Matrix4x4,UnityEngine.Rect) 
0x00000283215B3DC3 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:455] UnityEngine.UIElements.IMGUIContainer:HandleIMGUIEvent () 
0x00000283215B2D92 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Renderer\UIRenderer\UIRenderers.cs:447] UnityEngine.UIElements.UIR.ImmediateRenderer:Draw (UnityEngine.UIElements.UIR.DrawChainState) 
0x00000283215B1900 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Renderer\UIRenderer\UIRenderDevice.cs:842] UnityEngine.UIElements.UIR.UIRenderDevice:ContinueChain (UnityEngine.UIElements.UIR.RendererBase,UnityEngine.UIElements.UIR.DrawChainState,bool) 
0x00000283215ACDDB (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Renderer\UIRenderer\UIRenderDevice.cs:825] UnityEngine.UIElements.UIR.UIRenderDevice:DrawChain (UnityEngine.UIElements.UIR.RendererBase,UnityEngine.Rect,UnityEngine.Matrix4x4,UnityEngine.Texture) 
0x00000283215A76C7 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Renderer\UIRRepaintUpdater.cs:219] UnityEngine.UIElements.UIRRepaintUpdater:DrawChain (UnityEngine.Rect,UnityEngine.Matrix4x4) 
0x000002832158FC45 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Renderer\UIRRepaintUpdater.cs:191] UnityEngine.UIElements.UIRRepaintUpdater:Update () 
0x000002832156BC6F (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\VisualTreeUpdater.cs:71] UnityEngine.UIElements.VisualTreeUpdater:UpdateVisualTree () 
0x000002832156B553 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\Panel.cs:591] UnityEngine.UIElements.Panel:Repaint (UnityEngine.Event) 
0x000002832156A723 (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:246] UnityEngine.UIElements.UIElementsUtility:DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel) 
0x000002832156A26B (Mono JIT Code) [C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:78] UnityEngine.UIElements.UIElementsUtility:ProcessEvent (int,intptr) 
0x0000028321569BCE (Mono JIT Code) [C:\buildslave\unity\build\Modules\IMGUI\GUIUtility.cs:179] UnityEngine.GUIUtility:ProcessEvent (int,intptr) 
0x0000028321569DF3 (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_bool_int_intptr (object,intptr,intptr,intptr)
0x00007FFEE4E7BBCB (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\mini\mini-runtime.c:2809] mono_jit_runtime_invoke 
0x00007FFEE4E02252 (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:2919] do_runtime_invoke 
0x00007FFEE4E0B25F (mono-2.0-bdwgc) [c:\users\builduser\builds\_cjcc5tm\0\vm\mono\mono\metadata\object.c:2966] mono_runtime_invoke 
0x00007FF69D06B036 (Unity) scripting_method_invoke
0x00007FF69D065335 (Unity) ScriptingInvocation::Invoke
0x00007FF69D0605AA (Unity) ScriptingInvocation::Invoke<bool>
0x00007FF69A7F1C79 (Unity) Scripting::UnityEngine::GUIUtilityProxy::ProcessEvent
0x00007FF69B6F15EC (Unity) GUIView::ProcessRetainedMode
0x00007FF69BB54B6D (Unity) GUIView::OnInputEvent
0x00007FF69B6F14FC (Unity) GUIView::ProcessInputEvent
0x00007FF69BB4BC8C (Unity) GUIView::DoPaint
0x00007FF69BB575AD (Unity) GUIView::RepaintAll
0x00007FF69B896E52 (Unity) PlayerLoopController::UpdateScene
0x00007FF69B893CA9 (Unity) Application::TickTimer
0x00007FF69BB53943 (Unity) MainMessageLoop
0x00007FF69BB5D347 (Unity) WinMain
0x00007FF69E48DD8E (Unity) __scrt_common_main_seh
0x00007FFF3A287974 (KERNEL32) BaseThreadInitThunk
0x00007FFF3AE0A271 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========
ChuanXin-Unity commented 5 years ago

Will look into this issue with undo!