hugoattal / DarkerNodes

Modern theme for the Unreal editor
51 stars 2 forks source link

Crash on weird conditions #155

Closed hugoattal closed 3 years ago

hugoattal commented 3 years ago

Received a weird crash report by mail...

Did multiple test on clean projects. Issue arises when post process materials are used with custom depth and preview rendering is switched to ios.

Assertion failed: SceneContext.CustomDepth && SceneContext.CustomStencilSRV [File:/Users/build/Build/++UE4/Sync/Engine/Source/Runtime/Renderer/Private/PostProcess/SceneRenderTargets.cpp] [Line: 2401]

FGenericPlatformMisc::RaiseException(unsigned int) Address = 0x10d407757 (filename not found) [in UE4Editor-Core.dylib]
FMacErrorOutputDevice::Serialize(char16_t const*, ELogVerbosity::Type, FName const&) Address = 0x10d59b673 (filename not found) [in UE4Editor-Core.dylib]
FOutputDevice::LogfImpl(char16_t const*, ...) Address = 0x10d6a9799 (filename not found) [in UE4Editor-Core.dylib]
AssertFailedImplV(char const*, char const*, int, char16_t const*, __va_list_tag*) Address = 0x10d61e0b7 (filename not found) [in UE4Editor-Core.dylib]
FDebug::CheckVerifyFailedImpl(char const*, char const*, int, char16_t const*, ...) Address = 0x10d61df44 (filename not found) [in UE4Editor-Core.dylib]
SetupSceneTextureUniformParameters(FRDGBuilder*, ERHIFeatureLevel::Type, FSceneRenderTargets const&, ESceneTextureSetupMode, FSceneTextureUniformParameters&) Address = 0x13bf2840c (filename not found) [in UE4Editor-Renderer.dylib]
CreateSceneTextureUniformBuffer(FRHIComputeCommandList&, ERHIFeatureLevel::Type, ESceneTextureSetupMode) Address = 0x13bf2862c (filename not found) [in UE4Editor-Renderer.dylib]
CreateSceneTextureUniformBufferDependentOnShadingPath(FRHIComputeCommandList&, ERHIFeatureLevel::Type, ESceneTextureSetupMode) Address = 0x13bf0c39f (filename not found) [in UE4Editor-Renderer.dylib]
FSlateRHIRenderingPolicy::DrawElements(FRHICommandListImmediate&, FSlateBackBuffer&, TRefCountPtr<FRHITexture2D>&, TRefCountPtr<FRHITexture2D>&, TRefCountPtr<FRHITexture2D>&, int, TArray<FSlateRenderBatch, TSizedDefaultAllocator<32> > const&, FSlateRenderingParams const&) Address = 0x15ddb06f0 (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
FSlateRHIRenderer::DrawWindow_RenderThread(FRHICommandListImmediate&, FViewportInfo&, FSlateWindowElementList&, FSlateDrawWindowCommandParams const&) Address = 0x15ddca376 (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
TEnqueueUniqueRenderCommandType<FSlateRHIRenderer::DrawWindows_Private(FSlateDrawBuffer&)::SlateDrawWindowsCommandName, FSlateRHIRenderer::DrawWindows_Private(FSlateDrawBuffer&)::$_31>::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) Address = 0x15de1481e (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
TGraphTask<TEnqueueUniqueRenderCommandType<FSlateRHIRenderer::DrawWindows_Private(FSlateDrawBuffer&)::SlateDrawWindowsCommandName, FSlateRHIRenderer::DrawWindows_Private(FSlateDrawBuffer&)::$_31> >::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) Address = 0x15de14baa (filename not found) [in UE4Editor-SlateRHIRenderer.dylib]
FNamedTaskThread::ProcessTasksNamedThread(int, bool) Address = 0x10d382466 (filename not found) [in UE4Editor-Core.dylib]
FNamedTaskThread::ProcessTasksUntilQuit(int) Address = 0x10d380a80 (filename not found) [in UE4Editor-Core.dylib]
RenderingThreadMain(FEvent*) Address = 0x11e90daa3 (filename not found) [in UE4Editor-RenderCore.dylib]
FRenderingThread::Run() Address = 0x11e938407 (filename not found) [in UE4Editor-RenderCore.dylib]
FRunnableThreadPThread::Run() Address = 0x10d4a73b8 (filename not found) [in UE4Editor-Core.dylib]
FRunnableThreadPThread::_ThreadProc(void*) Address = 0x10d4339a4 (filename not found) [in UE4Editor-Core.dylib]
_pthread_start Address = 0x7fff203368fc (filename not found) [in libsystem_pthread.dylib]
thread_start Address = 0x7fff20332443 (filename not found) [in libsystem_pthread.dylib]
hugoattal commented 3 years ago

Ok, I managed to reproduce.

I try changing the loading phase of the plugin with no luck.

With some dichotomy, it appears that it comes from adding SlateBrush that are dynamic materials to the style of the editor...

hugoattal commented 3 years ago

After a lot of trying, I'm not sure I'll be able to fix it... Seems like it has to do with how slate manage materials, it's deep down into the engine, and I think it's fair to consider that an Unreal bug more that a Darker Nodes bug...

hugoattal commented 3 years ago

Ok, I have no idea how to fix this, and I'm pretty sure it actually is an engine bug 😕... I'm closing this.