ncosentino
Topic Author
Posts: 2
Joined: 01 Apr 2021, 05:14

Crash on Run After Updating from 3.0.X to 3.1.X in Unity

24 Apr 2022, 10:38

Wasn't expecting this to go smooth because this sort of thing never does. I was pleasantly surprised that once I realized we needed to use the PackageManager now that everything compiled literally the first try. So it was *SUPER* awesome to see no breaking API changes, at least for what I was touching. Nice!

Unfortunately, pressing play leads me to an instant crash. Trace below, which will have a ton of stuff that is specific to my game and Autofac...
Stacktrace:

at <unknown> <0xffffffff>
at (wrapper managed-to-native) Noesis.NoesisGUI_PINVOKE.Extend_UserControl (intptr) [0x00009] in <0e16eef9415548749e8a9edba310fab9>:0
at Noesis.UserControl.Extend (string) [0x00001] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\UserControl.cs:44
at (wrapper runtime-invoke) <Module>.runtime_invoke_intptr_object (object,intptr,intptr,intptr) [0x00057] in <0e16eef9415548749e8a9edba310fab9>:0
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) [0x00016] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) [0x00038] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Reflection.MethodBase.Invoke (object,object[]) [0x00006] in <695d1cc93cca45069c528c15c9fdd749>:0
at Noesis.Extend.RegisterNativeType (System.Type,bool) [0x00224] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Core\Extend.cs:1299
at Noesis.Extend.EnsureNativeType (System.Type,bool) [0x00018] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Core\Extend.cs:1706
at Noesis.Extend.EnsureNativeType (System.Type) [0x00001] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Core\Extend.cs:1698
at Noesis.Extend.NewCPtr (System.Type) [0x00001] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Core\Extend.cs:4945
at Noesis.BaseComponent.CreateExtendCPtr (System.Type,bool&) [0x00004] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\BaseComponentExtend.cs:85
at Noesis.UserControl.CreateCPtr (System.Type,bool&) [0x00022] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\UserControl.cs:39
at Noesis.BaseComponent..ctor () [0x0001a] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\BaseComponentExtend.cs:17
at Noesis.DispatcherObject..ctor () [0x00000] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\DispatcherObject.cs:30
at Noesis.DependencyObject..ctor () [0x00000] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\DependencyObject.cs:30
at Noesis.Visual..ctor () [0x0000e] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\Visual.cs:30
at Noesis.UIElement..ctor () [0x00007] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\UIElement.cs:775
at Noesis.FrameworkElement..ctor () [0x0000e] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\FrameworkElement.cs:132
at Noesis.Control..ctor () [0x00000] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\Control.cs:51
at Noesis.ContentControl..ctor () [0x00000] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\ContentControl.cs:34
at Noesis.UserControl..ctor () [0x00000] in C:\Users\Nick\Downloads\noesis-3.1.4\Runtime\API\Proxies\UserControl.cs:30
at Assets.Scripts.Plugins.Features.SceneTransitions.Noesis.Resources.FaderSceneTransitionView..ctor () [0x00000] in C:\dev\nexus\products\Macerus\macerus-unity\Assets\Scripts\Plugins\Features\SceneTransitions\Noesis\Resources\FaderSceneTransitionView.xaml.cs:22
at Assets.Scripts.Plugins.Features.SceneTransitions.Noesis.Resources.FaderSceneTransitionView..ctor (Assets.Scripts.Plugins.Features.SceneTransitions.Noesis.IFaderSceneTransitionNoesisViewModel) [0x00000] in C:\dev\nexus\products\Macerus\macerus-unity\Assets\Scripts\Plugins\Features\SceneTransitions\Noesis\Resources\FaderSceneTransitionView.xaml.cs:17
at (wrapper dynamic-method) object.lambda_method (System.Runtime.CompilerServices.Closure,object[]) [0x00008] in <695d1cc93cca45069c528c15c9fdd749>:0
at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate () [0x00091] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance (Autofac.IComponentContext,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x000b2] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.Activate (System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>,object&) [0x0002e] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.Execute () [0x00085] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance (Autofac.Core.ISharingLifetimeScope,Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x00072] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.ResolveComponent (Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x0000e] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.AutowiringParameter/<>c__DisplayClass0_0.<CanSupplyValue>b__0 () [0x00011] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate () [0x00048] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance (Autofac.IComponentContext,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x000b2] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.Activate (System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>,object&) [0x0002e] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup/<>c__DisplayClass6_0.<Execute>b__0 () [0x00017] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare (System.Guid,System.Func`1<object>) [0x00046] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.Execute () [0x00071] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance (Autofac.Core.ISharingLifetimeScope,Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x00072] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.ResolveComponent (Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x0000e] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.AutowiringParameter/<>c__DisplayClass0_0.<CanSupplyValue>b__0 () [0x00011] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate () [0x00048] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance (Autofac.IComponentContext,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x000b2] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.Activate (System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>,object&) [0x0002e] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup/<>c__DisplayClass6_0.<Execute>b__0 () [0x00017] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare (System.Guid,System.Func`1<object>) [0x00046] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.InstanceLookup.Execute () [0x00071] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance (Autofac.Core.ISharingLifetimeScope,Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x00072] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.ResolveOperation.ResolveComponent (Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x00009] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Resolving.ResolveOperation.Execute (Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x00003] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Core.Lifetime.LifetimeScope.ResolveComponent (Autofac.Core.IComponentRegistration,System.Collections.Generic.IEnumerable`1<Autofac.Core.Parameter>) [0x00044] in <2fad6ed004784647b9555cb639266f73>:0
at Autofac.Features.LazyDependencies.LazyRegistrationSource/<>c__DisplayClass5_1`1<T_REF>.<CreateLazyRegistration>b__1 () [0x00017] in <2fad6ed004784647b9555cb639266f73>:0
at System.Lazy`1<T_REF>.CreateValue () [0x00061] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Lazy`1<T_REF>.LazyInitValue () [0x00081] in <695d1cc93cca45069c528c15c9fdd749>:0
at System.Lazy`1<T_REF>.get_Value () [0x0003b] in <695d1cc93cca45069c528c15c9fdd749>:0
at Assets.Scripts.Scenes.MainMenu.MainMenuLoadHook.TrySwitchScene (string) [0x0001e] in C:\dev\nexus\products\Macerus\macerus-unity\Assets\Scripts\Scenes\MainMenu\MainMenuLoadHook.cs:41
at Assets.Scripts.Scenes.MainMenu.MainMenuLoadHook.SceneManager_SceneChanged (object,System.EventArgs) [0x00001] in C:\dev\nexus\products\Macerus\macerus-unity\Assets\Scripts\Scenes\MainMenu\MainMenuLoadHook.cs:57
at (wrapper delegate-invoke) System.EventHandler`1<TEventArgs_REF>.invoke_void_object_TEventArgs (object,TEventArgs_REF) [0x00073] in <695d1cc93cca45069c528c15c9fdd749>:0
at Assets.Scripts.Plugins.Features.Application.SceneManager.UnitySceneManager_sceneLoaded (UnityEngine.SceneManagement.Scene,UnityEngine.SceneManagement.LoadSceneMode) [0x00001] in C:\dev\nexus\products\Macerus\macerus-unity\Assets\Scripts\Plugins\Features\Application\SceneManager.cs:87
at UnityEngine.SceneManagement.SceneManager.Internal_SceneLoaded (UnityEngine.SceneManagement.Scene,UnityEngine.SceneManagement.LoadSceneMode) [0x00015] in <4a29708cee654ac0aca16c9d5624806a>:0
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_Scene_int (object,intptr,intptr,intptr) [0x0002c] in <4a29708cee654ac0aca16c9d5624806a>:0

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
I am using Unity 2021.1.16f1. I don't make my entire UI in WPF+XAML ahead of time like most devs probably do because in my professional career (outside of game development) this has always led to situations I prefer to design around. So my controls are created ahead of time, but I piece these all together at runtime to dynamically build the UI.

This control being made has the following code-behind (excluding usings):
public partial class FaderSceneTransitionView :
        UserControl,
        ISceneTransitionView
    {
        public FaderSceneTransitionView(IFaderSceneTransitionNoesisViewModel viewModel)
            : this()
        {
            DataContext = viewModel;
        }

        public FaderSceneTransitionView()
        {
            InitializeComponent();
        }

#if NOESIS
        private void InitializeComponent()
        {
            NoesisComponentInitializer.InitializeComponentXaml(this);
        }
#endif
    }
The XAML for this file is also pretty... Simple.
<UserControl
    x:Class="Assets.Scripts.Plugins.Features.SceneTransitions.Noesis.Resources.FaderSceneTransitionView"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Background="Black"
    Opacity="{Binding Opacity}"
    Visibility="{Binding Visibility}"
    HorizontalAlignment="Stretch"
    VerticalAlignment="Stretch"
    d:DesignWidth="1024"
    d:DesignHeight="768">
</UserControl>
 
User avatar
sfernandez
Site Admin
Posts: 2984
Joined: 22 Dec 2011, 19:20

Re: Crash on Run After Updating from 3.0.X to 3.1.X in Unity

25 Apr 2022, 21:20

Hi,

Do you recall if you did the upgrade without closing Unity? I mean, if you removed NoesisGUI 3.0 with Unity opened and then installed NoesisGUI 3.1 from the PackageManager. Because our plugin uses a native library (Noesis.dll) that could have been left in memory, and then incorrectly invoked the old one when you clicked play.
 
ncosentino
Topic Author
Posts: 2
Joined: 01 Apr 2021, 05:14

Re: Crash on Run After Updating from 3.0.X to 3.1.X in Unity

26 Apr 2022, 23:52

I can't recall on the first attempt. However, after crashing and restarting, this behavior is repeated on every attempt to run. So while that *may* have been the issue on the first attempt, I don't suspect that is the underlying issue if it happens after a restart of Unity.

Please let me know if there's anything else you want me to try and poke around and figure out. Thanks!
 
User avatar
sfernandez
Site Admin
Posts: 2984
Joined: 22 Dec 2011, 19:20

Re: Crash on Run After Updating from 3.0.X to 3.1.X in Unity

28 Apr 2022, 19:46

If you are getting a crash after restarting Unity then it is not what I had in mind.
Could you please create a ticket in our bugtracker attaching a minidump of the crash?

Who is online

Users browsing this forum: No registered users and 102 guests