| Description | Noesis "holds onto" an instance of a user control during Unity Editor play, stop, and play cycles. On a subsequent play, "Unloaded" is called during playback. See details below, which stores the time the user control was made. You'll notice that an old instance is unloaded, noted by the following log line: UIStateMachine Unloaded 10/29/2023 11:56:13 PM. This is an instance from a previous playback run within the editor.
This user control is stored to a static singleton get accessor. However, it is released via UserControl.Instance = null during script OnDestroy.
Calling dispose on the instance within MonoBeahvior.OnDestroy causes a crash, documented here: https://www.noesisengine.com/bugs/view.php?id=2792
On subsequent runs (without an app domain unload), these errors occur: https://www.noesisengine.com/bugs/view.php?id=2791
It appears to be related. |
|---|
| Steps To Reproduce | Noesis appears to be holding onto user control instances across AppDomain unload boundaries. Eventually, the control is released but it happens during subsequent playback.
- App Domain Unload.
- First Run
UIStateMachine CTOR 10/29/2023 11:56:13 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:53)
(wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure)
Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711)
Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292)
NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17)
NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535)
NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723)
UIStateMachine InitializeComponent 10/29/2023 11:56:13 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:InitializeComponent () (at Assets/User Interface/UIStateMachine.cs:130)
StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:57)
(wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure)
Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711)
Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292)
NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17)
NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535)
NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723)
UIStateMachine OnInitialized10/29/2023 11:56:13 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:OnInitialized (object,Noesis.EventArgs) (at Assets/User Interface/UIStateMachine.cs:71)
Noesis.EventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/EventArgs.cs:51)
Noesis.EventManager:InvokeHandler (string,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:660)
Noesis.EventHandlerStore:RaiseEvent (intptr,intptr,string,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:407)
Noesis.View:CreateCPtr (System.Type,bool&) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:562)
Noesis.BaseComponent:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/BaseComponentExtend.cs:16)
Noesis.DispatcherObject:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/DispatcherObject.cs:30)
Noesis.View:.ctor (System.Runtime.InteropServices.HandleRef) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:546)
Noesis.View:.ctor (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:519)
NoesisView:CreateView (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1850)
NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:543)
NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723)
- No App Domain Unload.
- Second Run
UIStateMachine CTOR 10/29/2023 11:56:54 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:53)
(wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure)
Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711)
Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292)
NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17)
NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535)
NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723)
UIStateMachine InitializeComponent 10/29/2023 11:56:54 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:InitializeComponent () (at Assets/User Interface/UIStateMachine.cs:130)
StellarConquest.Presentation.Unity.UI.UIStateMachine:.ctor () (at Assets/User Interface/UIStateMachine.cs:57)
(wrapper dynamic-method) object:lambda_method (System.Runtime.CompilerServices.Closure)
Noesis.Extend:CreateInstance (intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:5711)
Noesis.GUI:LoadXaml (System.IO.Stream,string) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/NoesisGUI.cs:292)
NoesisXaml:Load () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisXaml.cs:17)
NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:535)
NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723)
UIStateMachine OnInitialized10/29/2023 11:56:54 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:OnInitialized (object,Noesis.EventArgs) (at Assets/User Interface/UIStateMachine.cs:71)
Noesis.EventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/EventArgs.cs:51)
Noesis.EventManager:InvokeHandler (string,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:660)
Noesis.EventHandlerStore:RaiseEvent (intptr,intptr,string,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:407)
Noesis.View:CreateCPtr (System.Type,bool&) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:562)
Noesis.BaseComponent:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/BaseComponentExtend.cs:16)
Noesis.DispatcherObject:.ctor () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/DispatcherObject.cs:30)
Noesis.View:.ctor (System.Runtime.InteropServices.HandleRef) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:546)
Noesis.View:.ctor (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:519)
NoesisView:CreateView (Noesis.FrameworkElement) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1850)
NoesisView:LoadXaml (bool) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:543)
NoesisView:OnEnable () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:723)
** HERE
UIStateMachine Unloaded 10/29/2023 11:56:13 PM
UnityEngine.Debug:LogWarning (object)
StellarConquest.Presentation.Unity.UI.UIStateMachine:UIStateMachine_Unloaded (object,Noesis.RoutedEventArgs) (at Assets/User Interface/UIStateMachine.cs:65)
Noesis.RoutedEventArgs:InvokeHandler (System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/RoutedEventArgs.cs:50)
Noesis.EventManager:InvokeHandler (intptr,System.Delegate,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:578)
Noesis.EventHandlerStore:RaiseRoutedEvent (intptr,intptr,intptr,intptr,intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Events.cs:267)
Noesis.BaseComponent:Release (intptr) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Proxies/BaseComponent.cs:62)
Noesis.Extend:ReleasePending () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:6110)
Noesis.Extend:Update () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/Extend.cs:6119)
Noesis.View:Update (double) (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/API/Core/View.cs:366)
NoesisView:UpdateInternal () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1461)
NoesisView:LateUpdate () (at D:/Source/StellarConquest/StellarConquest.Utilities/Noesis/3.2.2/Runtime/NoesisView.cs:1362) |
|---|