View Issue Details

IDProjectCategoryView StatusLast Update
0001429NoesisGUIUnity3Dpublic2019-04-16 10:59
ReportershawnAssigned Tosfernandez 
PrioritynormalSeveritycrashReproducibilityrandom
Status resolvedResolutionfixed 
Product Version2.2.0 
Target Version2.2.2Fixed in Version2.2.1 
Summary0001429: unity2018 crash
Description   For example:
        private void OnInitialized(object sender, EventArgs args)
        {
#if NOESIS
            vm = new MyViewModle();

            MyAnimal animal1 = new MyAnimal() { Name = "Cat", Image = new TextureSource(AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/cat.jpg")) };
            MyAnimal panda = new MyAnimal() { Name = "Panda", Image = new TextureSource(AssetDatabase.LoadAssetAtPath<Texture2D>("Assets/panda.jpg")) };
            vm.Animals.Add(animal1);
            vm.Animals.Add(panda);

            this.DataContext = vm;
#endif
        }

if some pictures are not exist there will throw a nullRef exception, and then I exited the play mode and play it again, the unity editor sometimes crash
TagsUnity
PlatformAny

Activities

shawn

shawn

2019-03-18 09:10

reporter  

Crash_2019-03-18_055759309.zip (236,512 bytes)
shawn

shawn

2019-03-18 09:13

reporter   ~0005538

unityVersion:2018.3.7f1(.3.6;.2.1 etc...)
noesisVersion:2.2.0
jsantos

jsantos

2019-03-29 01:11

manager   ~0005572

Last edited: 2019-03-29 01:12

View 3 revisions

@sfernandez crash is happening here (root (mView->GetContent()) is NULL.)

Visual* Visual::GetRoot() const
{
    Visual* root = IsConnectedToView() ? (Visual*)mView->GetContent() : const_cast<Visual*>(this);

>>  while (root->mVisualParent != 0)
    {
        root = root->mVisualParent;
    }

    return root;
}

Stacktrace:
>	Noesis.dll!Noesis::Visual::GetRoot() Line 436	C++
     Noesis.dll!Noesis::Popup::HidePopup() Line 561	C++
     Noesis.dll!Noesis::Popup::OnDisconnectFromView() Line 298	C++
     Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 710	C++
     Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713	C++
     Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713	C++
     Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713	C++
     Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713	C++
     Noesis.dll!Noesis::Visual::OnDisconnectFromViewChildren() Line 713	C++
     Noesis.dll!Noesis::Visual::DisconnectFromView() Line 195	C++
     Noesis.dll!Noesis::View::~View() Line 293	C++


jsantos

jsantos

2019-03-29 01:36

manager   ~0005573

Is this crash happening randomly or is it deterministic?
sfernandez

sfernandez

2019-04-02 01:22

manager   ~0005587

Is it possible that the crash occurred when you tried to change a scene or exited the play mode while a popup was still open?
I think the crash is not related at all to images not being found, but popus given the crash callstack, could that be the case?
sfernandez

sfernandez

2019-04-05 12:39

manager   ~0005595

Could you please try 2.2.1 version, we fixed a bug related to popups and I think it will solve your problems.
Thanks.
shawn

shawn

2019-04-08 13:39

reporter   ~0005615

thank you! i am trying 2.2.1 version! i'll feedback here if i encounter a problem
shawn

shawn

2019-04-10 04:57

reporter   ~0005620

would you see those crashes please

Crashes.zip (650,957 bytes)
sfernandez

sfernandez

2019-04-10 13:42

manager   ~0005621

@jsantos Could you help with these callstacks?
In the first one the 'resource' pointer seems to be null.
The second callstack refers to a crash in Unity without Noesis being involved, but it could be related to the first crash.

 	Noesis.dll!SetDebugObjectName(ID3D11DeviceChild * resource, const char * str, ...) Line 117	C++
>	[Inline Frame] Noesis.dll!NoesisApp::D3D11RenderDevice::AllocatePage(NoesisApp::D3D11RenderDevice::DynamicBuffer &) Line 870	C++
     Noesis.dll!NoesisApp::D3D11RenderDevice::CreateBuffer(NoesisApp::D3D11RenderDevice::DynamicBuffer & buffer, unsigned int size, D3D11_BIND_FLAG flags, const char * label) Line 896	C++
     Noesis.dll!NoesisApp::D3D11RenderDevice::CreateBuffers() Line 909	C++
     Noesis.dll!NoesisApp::D3D11RenderDevice::D3D11RenderDevice(ID3D11DeviceContext * context, bool sRGB) Line 343	C++
     Noesis.dll!NoesisApp::D3D11Factory::CreateDevice(ID3D11DeviceContext * context, bool sRGB) Line 21	C++
     Noesis.dll!Noesis::UnityDeviceD3D11::UnityDeviceD3D11(IUnityInterfaces * unityInterfaces, bool sRGB) Line 38	C++
     [Inline Frame] Noesis.dll!`anonymous-namespace'::DeviceInitialize::__l5::<lambda_19a8d8fc18ebce0158ac87709b130cfd>::operator()() Line 155	C++
     Noesis.dll!<lambda_19a8d8fc18ebce0158ac87709b130cfd>::<lambda_invoker_cdecl>() Line 156	C++
     Noesis.dll!`anonymous namespace'::CreateDevice() Line 207	C++
     Noesis.dll!Noesis_GetRenderOffscreenCallback::__l2::<lambda>(int eventId, void * data) Line 391	C++
     Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 1551	C++
     [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161	C++
     Unity.exe!GfxDeviceWorker::RunExt(ThreadedStreamBuffer & stream) Line 491	C++
     [Inline Frame] Unity.exe!GfxDeviceWorker::Run() Line 475	C++
     Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void * data) Line 454	C++
     Unity.exe!Thread::RunThreadWrapper(void * ptr) Line 76	C++


 	Unity.exe!D3D11CommonShader::ApplyGpuProgram(const GpuProgramParameters & params, const unsigned char * buffer, bool bindCBs) Line 184	C++
>	Unity.exe!GfxDeviceD3D11Base::SetShadersThreadable(GpuProgram * * programs, const GpuProgramParameters * * params, const unsigned char * const * paramsBuffer) Line 1260	C++
     Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 772	C++
     [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161	C++
     Unity.exe!GfxDeviceWorker::CallImmediate(ThreadedDisplayList * dlist) Line 363	C++
     Unity.exe!GfxDeviceWorker::RunCommand(ThreadedStreamBuffer & stream) Line 2004	C++
     [Inline Frame] Unity.exe!ProcessGfxCommands(GfxDeviceWorker &) Line 161	C++
     Unity.exe!GfxDeviceWorker::RunExt(ThreadedStreamBuffer & stream) Line 491	C++
     [Inline Frame] Unity.exe!GfxDeviceWorker::Run() Line 475	C++
     Unity.exe!GfxDeviceWorker::RunGfxDeviceWorker(void * data) Line 454	C++
     Unity.exe!Thread::RunThreadWrapper(void * ptr) Line 76	C++
jsantos

jsantos

2019-04-10 13:45

manager   ~0005622

Could we please move these reports to different tickets giving more context about them? (to mark the original one as solved).

Thanks!
shawn

shawn

2019-04-11 03:16

reporter   ~0005634

of course!

Issue History

Date Modified Username Field Change
2019-03-18 09:10 shawn New Issue
2019-03-18 09:10 shawn Tag Attached: Unity
2019-03-18 09:10 shawn File Added: Crash_2019-03-18_055759309.zip
2019-03-18 09:13 shawn Note Added: 0005538
2019-03-18 22:17 sfernandez Assigned To => sfernandez
2019-03-18 22:17 sfernandez Status new => assigned
2019-03-18 22:17 sfernandez Target Version => 2.2.1
2019-03-18 22:17 sfernandez Description Updated View Revisions
2019-03-29 01:11 jsantos Note Added: 0005572
2019-03-29 01:11 jsantos Note Edited: 0005572 View Revisions
2019-03-29 01:12 jsantos Note Edited: 0005572 View Revisions
2019-03-29 01:36 jsantos Note Added: 0005573
2019-03-29 01:36 jsantos Status assigned => feedback
2019-04-02 01:22 sfernandez Note Added: 0005587
2019-04-05 12:39 sfernandez Target Version 2.2.1 => 2.2.2
2019-04-05 12:39 sfernandez Note Added: 0005595
2019-04-08 13:39 shawn Note Added: 0005615
2019-04-08 13:39 shawn Status feedback => assigned
2019-04-10 04:57 shawn File Added: Crashes.zip
2019-04-10 04:57 shawn Note Added: 0005620
2019-04-10 13:42 sfernandez Note Added: 0005621
2019-04-10 13:45 jsantos Note Added: 0005622
2019-04-11 03:16 shawn Note Added: 0005634
2019-04-16 10:59 sfernandez Status assigned => resolved
2019-04-16 10:59 sfernandez Resolution open => fixed
2019-04-16 10:59 sfernandez Fixed in Version => 2.2.1