View Issue Details

IDProjectCategoryView StatusLast Update
0003521NoesisGUIUnitypublic2024-10-18 10:04
Reporterstonstad Assigned Tosfernandez  
PrioritynormalSeveritycrash 
Status resolvedResolutionfixed 
Product Version3.2.4 
Target Version3.2.5Fixed in Version3.2.5 
Summary0003521: Visual Brush Crash
Description

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

0x00007FF9CB757211 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB22FD3C (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5B90CD (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5B8E40 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5B84FF (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5AD325 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5AD092 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5AC014 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5A8D81 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB5994B9 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CB593E23 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CBAF8CD2 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF9CBAF2D61 (Noesis) ArcSegment_SweepDirectionProperty_get
0x00007FF7D313F379 (Unity) GfxDevice::InsertCustomMarkerCallbackAndDataWithFlags
0x00007FF7D4A2A226 (Unity) GfxDeviceWorker::RunCommand
0x00007FF7D4A31A2B (Unity) GfxDeviceWorker::RunExt
0x00007FF7D4A31B48 (Unity) GfxDeviceWorker::RunGfxDeviceWorker
0x00007FF7D307BBB6 (Unity) Thread::RunThreadWrapper
0x00007FFB2478257D (KERNEL32) BaseThreadInitThunk
0x00007FFB2572AF28 (ntdll) RtlUserThreadStart

update
I have a repeatable reproduction path for this particular exception.

I appear to only get an exception when the following code is invoked on a FrameworkElement after a button click:

 public static Storyboard Grow(this FrameworkElement frameworkElement, FrameworkElement parent, TimeSpan durationTimeSpan, Action completed = null)
 {
     if (parent == null)
         throw new NullReferenceException("parent");
     if (BaseComponent.getCPtr(parent).Handle == IntPtr.Zero)
         throw new NullReferenceException("parent");

     ScaleTransform scaleTransform = new ScaleTransform();
     frameworkElement.RenderTransform = scaleTransform;
     frameworkElement.RenderTransformOrigin = new Point(0.5f, 0.5f);

     string key = "Grow" + frameworkElement.GetHashCode();
     StopStoryboard(key, parent);

     if (parent.Resources.Contains(key))
     {
         UnityEngine.Debug.LogWarning("Resource already exists");
         return null;
     }

     Duration duration = new Duration(durationTimeSpan);

     DoubleAnimation animationX = new DoubleAnimation();
     animationX.EasingFunction = new QuadraticEase() { EasingMode = EasingMode.EaseInOut };
     animationX.Duration = duration;
     animationX.AutoReverse = false;
     animationX.FillBehavior = FillBehavior.Stop;
     animationX.From = 0f;
     animationX.To = 1;

     DoubleAnimation animationY = new DoubleAnimation();
     animationY.EasingFunction = new QuadraticEase() { EasingMode = EasingMode.EaseInOut };
     animationY.Duration = duration;
     animationY.AutoReverse = false;
     animationY.FillBehavior = FillBehavior.Stop;
     animationY.From = 0f;
     animationY.To = 1;

     Storyboard storyboard = new Storyboard();
     storyboard.AutoReverse = false;
     storyboard.Duration = duration;
     storyboard.Children.Add(animationX);
     storyboard.Children.Add(animationY);

     parent.Resources.Add(key, storyboard);

     Storyboard.SetTarget(animationX, frameworkElement);
     Storyboard.SetTargetProperty(animationX, new PropertyPath("RenderTransform.ScaleX"));

     Storyboard.SetTarget(animationY, frameworkElement);
     Storyboard.SetTargetProperty(animationY, new PropertyPath("RenderTransform.ScaleY"));

     storyboard.Completed += (sender2, e2) =>
     {
         parent.Resources.Remove(key);
         scaleTransform.ScaleX = 1.0f;
         scaleTransform.ScaleY = 1.0f;
         completed?.Invoke();
     };

     storyboard.Begin();
     return storyboard;
 }

    public static void StopStoryboard(string key, FrameworkElement parent)
    {
        Storyboard storyboard = parent.TryFindResource(key) as Storyboard;
        if (storyboard != null)
        {
            storyboard.Stop();
            parent.Resources.Remove(key);
        }
    }

*encl stack dump

Attached Files
PlatformAny

Relationships

related to 0003723 resolvedsfernandez Frequent Unity Editor Crashes 

Activities

stonstad

stonstad

2024-07-17 15:45

reporter   ~0009822

Last edited: 2024-07-17 22:33

I have a repeatable reproduction for this behavior. Would it work to send a Steam key to download the game, and then we place the debug DLL in the deployed folder?
*Update. It is not repeatable.

stonstad

stonstad

2024-07-17 19:28

reporter   ~0009823

Disabling the above code does not resolve the issue completely. It still happens in other scenarios, albeit less often.

stonstad

stonstad

2024-07-17 20:10

reporter   ~0009824

Last edited: 2024-07-17 22:27

*deleted. I have no idea why it crashes.

stonstad

stonstad

2024-10-17 21:23

reporter   ~0010022

This is a candidate for closure due to crash fixed in https://www.noesisengine.com/bugs/view.php?id=3723. I

Issue History

Date Modified Username Field Change
2024-07-17 14:41 stonstad New Issue
2024-07-17 14:41 stonstad File Added: Crash_2024-07-16_210910668.zip
2024-07-17 15:45 stonstad Note Added: 0009822
2024-07-17 17:48 jsantos Assigned To => sfernandez
2024-07-17 17:48 jsantos Status new => assigned
2024-07-17 17:48 jsantos Target Version => 3.2.5
2024-07-17 19:28 stonstad Note Added: 0009823
2024-07-17 20:10 stonstad Note Added: 0009824
2024-07-17 22:27 stonstad Note Edited: 0009824
2024-07-17 22:33 stonstad Note Edited: 0009822
2024-07-17 22:33 stonstad Note Edited: 0009822
2024-10-17 21:23 stonstad Note Added: 0010022
2024-10-18 10:04 sfernandez Relationship added related to 0003723
2024-10-18 10:04 sfernandez Status assigned => resolved
2024-10-18 10:04 sfernandez Resolution open => fixed
2024-10-18 10:04 sfernandez Fixed in Version => 3.2.5
2025-10-10 13:29 jsantos Category Unity3D => Unity