Description

The built-in class "UMaterialEditingLibrary" provides various editor scripting functions related to creating and editing materials and material instances. One of these functions, UMaterialEditingLibrary::SetMaterialInstanceParent(), is meant to allow a script to change the parent of a UMaterialInstanceConstant. However, using this function often results in an immediate editor crash with some different callstacks (see attached), or in the rendering of a material with seemingly garbage attributes. The same happens if attempting to change the parent using the generic "Set Editor Property" node from the "Kismet System Library".

Note that changing the parent of a material instance through the Editor UI does not crash. This is because the Material Instance Editor (FMaterialInstanceEditor) uses a "preview material" (UMaterialEditorInstanceConstant) internally, and changes to its parent result in the call of UMaterialEditorInstanceConstant::PostEditChangeProperty(). This function does everything that is required to properly update the parent, while UMaterialEditingLibrary::SetMaterialInstanceParent() and UMaterialInstance::PostEditChangeProperty() fail to accomplish that.

Note: This issue is related to [Link Removed]. But now there is a built-in specialized editor-scripting function for the task of changing a material instance's parent, and even that function causes a crash, which is a worst outcome than the one described there.

Steps to Reproduce

This if from ticket:
[Link Removed]
(Which is too long to fit into the URL field)

1. Create material assets
1.1. Create a new Material "Mat_A" (right-click Content Browser – Create Basic Asset – Material)
1.2. Create a new Material "Mat_B" (right-click Content Browser – Create Basic Asset – Material)
1.3. Create a new Material Instance "MI" (right-click Content Browser – Create Advanced Asset – Material – Material Instance)
1.4. Check that the "Parent" property on the newly created Material Instance is set to None
1.4.1. The editor may also crash later if the parent is initially Mat_A or Mat_B, but with less certainty

2. Create Editor Utility Widget
2.1. Add two buttons "Btn_A" and "Btn_B" to the widget
2.2. On each "On Clicked" event, call node "Set Material Instance Parent" from the "Material Editing Library"
2.3. On the event for "Btn_A", set "Instance" to "MI" and "New Parent" to "Mat_A"
2.4. On the event for "Btn_B", set "Instance" to "MI" and "New Parent" to "Mat_B"
2.5. Compile and save

3. Use the material instance on the current level
3.1. Place a Cube actor on the current level
3.2. Drag "MI" to the cube (or set it on the cube's Details Panel under "Materials – Element 0")
3.3. Save the level

4. Run the utility widget
4.1. Press each button until a crash occurs (example call stacks are attached).
4.1.1. The editor should crash on the first attempt or on one of the first few swaps.
4.1.2. It is also possible that the cube starts being rendered with a garbled material (e.g. wildly varying emissive and other properties)

Repros in mainline
No public tracker found
Not a regression in terms of the new function mentioned in the ticket. But yes a regression in terms of the functionality as a whole, as noted in the related ticket mentioned.

Callstack

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000048
UnrealEditor_D3D12RHI!BindUniformBuffer() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:67]
UnrealEditor_D3D12RHI!SetShaderParametersOnContext() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1101]
UnrealEditor_D3D12RHI!FD3D12CommandContext::RHISetShaderParameters() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1133]
UnrealEditor_RHI!FRHICommandSetShaderParameters<FRHIGraphicsShader>::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandListCommandExecutes.inl:130]
UnrealEditor_Renderer!FRHICommand<FRHICommandSetShaderParameters<FRHIGraphicsShader>,FRHICommandSetShaderParametersString1640>::ExecuteAndDestruct() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandList.h:1471]
UnrealEditor_RHI!FRHICommandListBase::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:429]
UnrealEditor_RHI!FRHICommandListExecutor::FTranslateState::Translate() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:906]
UnrealEditor_RHI!`FRHIComputeCommandList::EndBreadcrumbGPU'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:871]
UnrealEditor_RHI!FRHICommandListExecutor::FTaskPipe::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:627]
UnrealEditor_RHI!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const & __ptr64),0> >::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:634]
UnrealEditor_RHI!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:504]
UnrealEditor_RHI!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __ptr64 __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init'::`2'::<lambda_1> >'::`13'::<lambda_1>,0>::CallAndMove() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
UnrealEditor_Core!LowLevelTasks::FTask::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]
UnrealEditor_Core!LowLevelTasks::FScheduler::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:245]
UnrealEditor_Core!LowLevelTasks::FScheduler::WorkerLoop() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:514]
UnrealEditor_Core!`LowLevelTasks::FScheduler::CreateWorker'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:75]
UnrealEditor_Core!FThreadImpl::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Assertion failed: Resource [Link Removed] [Line: 138]
Null Texture (resource 0 bind 4) on UB Layout Material

UnrealEditor_D3D12RHI!UE::RHICore::EnumerateUniformBufferResources<FRHITexture,`UE::RHICore::SetResourcesFromTables<FD3D12ResourceBinder & __ptr64,FD3D12UniformBuffer * __ptr64 [16],unsigned short,0>'::`4'::<lambda_1> >() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h:132]
UnrealEditor_D3D12RHI!UE::RHICore::SetResourcesFromTables<FD3D12ResourceBinder & __ptr64,FD3D12UniformBuffer * __ptr64 [16],unsigned short,0>() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h:261]
UnrealEditor_D3D12RHI!FD3D12CommandContext::CommitGraphicsResourceTables() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1501]
UnrealEditor_D3D12RHI!FD3D12CommandContext::SetupDraw() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1601]
UnrealEditor_D3D12RHI!FD3D12CommandContext::RHIDrawIndexedPrimitive() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1714]
UnrealEditor_RHI!FRHICommandDrawIndexedPrimitive::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandListCommandExecutes.inl:154]
UnrealEditor_Renderer!FRHICommand<FRHICommandDrawIndexedPrimitive,FRHICommandDrawIndexedPrimitiveString1692>::ExecuteAndDestruct() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandList.h:1471]
UnrealEditor_RHI!FRHICommandListBase::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:429]
UnrealEditor_RHI!FRHICommandListExecutor::FTranslateState::Translate() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:906]
UnrealEditor_RHI!`FRHIComputeCommandList::EndBreadcrumbGPU'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:871]
UnrealEditor_RHI!FRHICommandListExecutor::FTaskPipe::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:627]
UnrealEditor_RHI!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const & __ptr64),0> >::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:634]
UnrealEditor_RHI!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:504]
UnrealEditor_RHI!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __ptr64 __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init'::`2'::<lambda_1> >'::`13'::<lambda_1>,0>::CallAndMove() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
UnrealEditor_Core!LowLevelTasks::FTask::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]
UnrealEditor_Core!LowLevelTasks::FScheduler::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:245]
UnrealEditor_Core!LowLevelTasks::FScheduler::WorkerLoop() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:514]
UnrealEditor_Core!`LowLevelTasks::FScheduler::CreateWorker'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:75]
UnrealEditor_Core!FThreadImpl::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000018

UnrealEditor_D3D12RHI!FD3D12ResourceBinder::SetTexture() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:951]
UnrealEditor_D3D12RHI!UE::RHICore::EnumerateUniformBufferResources<FRHITexture,`UE::RHICore::SetResourcesFromTables<FD3D12ResourceBinder & __ptr64,FD3D12UniformBuffer * __ptr64 [16],unsigned short,0>'::`4'::<lambda_1> >() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h:142]
UnrealEditor_D3D12RHI!UE::RHICore::SetResourcesFromTables<FD3D12ResourceBinder & __ptr64,FD3D12UniformBuffer * __ptr64 [16],unsigned short,0>() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHICore\Public\RHICoreShader.h:261]
UnrealEditor_D3D12RHI!FD3D12CommandContext::CommitGraphicsResourceTables() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1501]
UnrealEditor_D3D12RHI!FD3D12CommandContext::SetupDraw() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1601]
UnrealEditor_D3D12RHI!FD3D12CommandContext::RHIDrawIndexedPrimitive() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1714]
UnrealEditor_RHI!FRHICommandDrawIndexedPrimitive::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandListCommandExecutes.inl:154]
UnrealEditor_Renderer!FRHICommand<FRHICommandDrawIndexedPrimitive,FRHICommandDrawIndexedPrimitiveString1692>::ExecuteAndDestruct() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandList.h:1471]
UnrealEditor_RHI!FRHICommandListBase::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:429]
UnrealEditor_RHI!FRHICommandListExecutor::FTranslateState::Translate() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:906]
UnrealEditor_RHI!`FRHIComputeCommandList::EndBreadcrumbGPU'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:871]
UnrealEditor_RHI!FRHICommandListExecutor::FTaskPipe::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:627]
UnrealEditor_RHI!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const & __ptr64),0> >::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:634]
UnrealEditor_RHI!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:504]
UnrealEditor_RHI!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __ptr64 __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init'::`2'::<lambda_1> >'::`13'::<lambda_1>,0>::CallAndMove() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
UnrealEditor_Core!LowLevelTasks::FTask::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]
UnrealEditor_Core!LowLevelTasks::FScheduler::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:245]
UnrealEditor_Core!LowLevelTasks::FScheduler::WorkerLoop() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:514]
UnrealEditor_Core!`LowLevelTasks::FScheduler::CreateWorker'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:75]
UnrealEditor_Core!FThreadImpl::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]
UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LogOutputDevice: Error: === Handled ensure: ===
LogOutputDevice: Error: Ensure condition failed: ShaderTableHash == 0 || UniformBufferHash == ShaderTableHash [Link Removed] [Line: 56]
LogOutputDevice: Error: Invalid uniform buffer FDitherUniformShaderParameters bound on PixelShader at index 1.
LogOutputDevice: Error: Stack:
LogOutputDevice: Error: [Callstack] 0x00007ffe23da8c37 UnrealEditor-D3D12RHI.dll!`ValidateBoundUniformBuffer'::`5'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:56]
LogOutputDevice: Error: [Callstack] 0x00007ffe23c48857 UnrealEditor-D3D12RHI.dll!BindUniformBuffer() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:67]
LogOutputDevice: Error: [Callstack] 0x00007ffe23c7acf9 UnrealEditor-D3D12RHI.dll!SetShaderParametersOnContext() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1101]
LogOutputDevice: Error: [Callstack] 0x00007ffe23c6a00b UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::RHISetShaderParameters() [D:\build\++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Commands.cpp:1133]
LogOutputDevice: Error: [Callstack] 0x00007ffe71a0c7b0 UnrealEditor-RHI.dll!FRHICommandSetShaderParameters<FRHIGraphicsShader>::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandListCommandExecutes.inl:130]
LogOutputDevice: Error: [Callstack] 0x00007ffe32c42f1c UnrealEditor-Renderer.dll!FRHICommand<FRHICommandSetShaderParameters<FRHIGraphicsShader>,FRHICommandSetShaderParametersString1640>::ExecuteAndDestruct() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Public\RHICommandList.h:1471]
LogOutputDevice: Error: [Callstack] 0x00007ffe71a0ec4a UnrealEditor-RHI.dll!FRHICommandListBase::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:429]
LogOutputDevice: Error: [Callstack] 0x00007ffe71a3acc7 UnrealEditor-RHI.dll!FRHICommandListExecutor::FTranslateState::Translate() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:906]
LogOutputDevice: Error: [Callstack] 0x00007ffe719f76e7 UnrealEditor-RHI.dll!`FRHIComputeCommandList::EndBreadcrumbGPU'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:871]
LogOutputDevice: Error: [Callstack] 0x00007ffe71a10302 UnrealEditor-RHI.dll!FRHICommandListExecutor::FTaskPipe::Execute() [D:\build\++UE5\Sync\Engine\Source\Runtime\RHI\Private\RHICommandList.cpp:627]
LogOutputDevice: Error: [Callstack] 0x00007ffe71a123e6 UnrealEditor-RHI.dll!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const & __ptr64),0> >::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\TaskGraphInterfaces.h:634]
LogOutputDevice: Error: [Callstack] 0x00007ffe719e04d0 UnrealEditor-RHI.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Tasks\TaskPrivate.h:504]
LogOutputDevice: Error: [Callstack] 0x00007ffe71990694 UnrealEditor-RHI.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __ptr64 __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init'::`2'::<lambda_1> >'::`13'::<lambda_1>,0>::CallAndMove() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
LogOutputDevice: Error: [Callstack] 0x00007ffe46faee35 UnrealEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]
LogOutputDevice: Error: [Callstack] 0x00007ffe46faeb6f UnrealEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:245]
LogOutputDevice: Error: [Callstack] 0x00007ffe46fd61ad UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerLoop() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:514]
LogOutputDevice: Error: [Callstack] 0x00007ffe46f9b0d6 UnrealEditor-Core.dll!`LowLevelTasks::FScheduler::CreateWorker'::`2'::<lambda_1>::operator()() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:75]
LogOutputDevice: Error: [Callstack] 0x00007ffe471a7e23 UnrealEditor-Core.dll!FThreadImpl::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]
LogOutputDevice: Error: [Callstack] 0x00007ffe475fc0ad UnrealEditor-Core.dll!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]
LogOutputDevice: Error: [Callstack] 0x00007ffe475f35cf UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:79]
LogOutputDevice: Error: [Callstack] 0x00007fffd2b3e8d7 KERNEL32.DLL!UnknownFunction []
LogOutputDevice: Error: [Callstack] 0x00007fffd351bf6c ntdll.dll!UnknownFunction []

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Exception thrown: read access violation.
InTexture->**** was 0xFFFFFFFFFFFFFFE7.

> [Inline Frame] UnrealEditor-D3D12RHI.dll!FRHITexture::GetFlags() Line 2045 C++
[Inline Frame] UnrealEditor-D3D12RHI.dll!GetD3D12TextureFromRHITexture(FRHITexture *) Line 226 C++
[Inline Frame] UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::RetrieveTexture(FRHITexture * GPUIndex, unsigned int) Line 775 C++
UnrealEditor-D3D12RHI.dll!FD3D12ResourceBinder::SetTexture(FRHITexture * InTexture, unsigned int Index) Line 951 C++
[Inline Frame] UnrealEditor-D3D12RHI.dll!UE::RHICore::SetResourcesFromTables::__l4::<lambda_1>::operator()(FRHITexture *) Line 257 C++
UnrealEditor-D3D12RHI.dll!$EnumerateUniformBufferResources@VFRHITexture@@V<lambda_1>@?3?$SetResourcesFromTables@AEAUFD3D12ResourceBinder@@$$BY0BA@PEAVFD3D12UniformBuffer@@G$0A@@RHICore@UE@@YAXAEAUFD3D12ResourceBinder@@AEBVFRHIShader@@AEAGAEAY0BA@QEAVFD3D12UniformBuffer@@PEAVFTracker@RHIValidation@@@Z@@RHICore@UE@@YAXPEIBVFRHIUniformBuffer@@HPEIBI$$QEAV<lambda_1>@?3???$SetResourcesFromTables@AEAUFD3D12ResourceBinder@@$$BY0BA@PEAVFD3D12UniformBuffer@@G$0A@@01@YAXAEAUFD3D12ResourceBinder@@AEBVFRHIShader@@AEAGAEAY0BA@QEAVFD3D12UniformBuffer@@PEAVFTracker@RHIValidation@@@Z@@Z(const FRHIUniformBuffer * Buffer, int BufferIndex, const unsigned int * ResourceMap, UE::RHICore::SetResourcesFromTables::__l4::<lambda_1> && Callback) Line 142 C++
UnrealEditor-D3D12RHI.dll!UE::RHICore::SetResourcesFromTables<FD3D12ResourceBinder & __ptr64,FD3D12UniformBuffer * __ptr64 [16],unsigned short,0>(FD3D12ResourceBinder & Binder, const FRHIShader & Shader, unsigned short & DirtyUniformBuffers, FD3D12UniformBuffer * const[16] & BoundUniformBuffers, RHIValidation::FTracker * Tracker) Line 261 C++
[Inline Frame] UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::SetResourcesFromTables(const FD3D12PixelShader *) Line 1478 C++
UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::CommitGraphicsResourceTables() Line 1501 C++
UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::SetupDraw(FRHIBuffer * IndexBufferRHI, unsigned int NumPrimitives, unsigned int NumVertices) Line 1601 C++
UnrealEditor-D3D12RHI.dll!FD3D12CommandContext::RHIDrawIndexedPrimitive(FRHIBuffer * IndexBufferRHI, int BaseVertexIndex, unsigned int FirstInstance, unsigned int NumVertices, unsigned int StartIndex, unsigned int NumPrimitives, unsigned int NumInstances) Line 1714 C++
UnrealEditor-RHI.dll!FRHICommandDrawIndexedPrimitive::Execute(FRHICommandListBase & CmdList) Line 154 C++
UnrealEditor-Renderer.dll!FRHICommand<FRHICommandDrawIndexedPrimitive,FRHICommandDrawIndexedPrimitiveString1692>::ExecuteAndDestruct(FRHICommandListBase & CmdList) Line 1471 C++
UnrealEditor-RHI.dll!FRHICommandListBase::Execute() Line 429 C++
UnrealEditor-RHI.dll!FRHICommandListExecutor::FTranslateState::Translate(FRHICommandListBase * CmdList) Line 906 C++
UnrealEditor-RHI.dll!??R<lambda_1>@?BD@??Dispatch@FSubmitState@FRHICommandListExecutor@@QEAAXPEAVFRHICommandListBase@@@Z@QEBA@XZ() Line 871 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<0>,void __cdecl(void)>::operator()() Line 470 C++
UnrealEditor-RHI.dll!FRHICommandListExecutor::FTaskPipe::Execute(FRHICommandListExecutor::FTaskPipe::FTask * Task, const TRefCountPtr<FBaseGraphTask> & CurrentEvent) Line 627 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const &)>::operator()(ENamedThreads::Type <Params_0>, const TRefCountPtr<FBaseGraphTask> &) Line 470 C++
[Inline Frame] UnrealEditor-RHI.dll!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const &),0>::DoTaskImpl(TUniqueFunction<void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const &)> & Function, ENamedThreads::Type) Line 1722 C++
[Inline Frame] UnrealEditor-RHI.dll!TFunctionGraphTaskImpl<void __cdecl(enum ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const &),0>::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr<FBaseGraphTask> &) Line 1703 C++
UnrealEditor-RHI.dll!TGraphTask<TFunctionGraphTaskImpl<void __cdecl(ENamedThreads::Type,TRefCountPtr<FBaseGraphTask> const & __ptr64),0>>::ExecuteTask() Line 634 C++
UnrealEditor-RHI.dll!UE::Tasks::Private::FTaskBase::TryExecuteTask() Line 504 C++
[Inline Frame] UnrealEditor-RHI.dll!UE::Tasks::Private::FTaskBase::Init::__l2::<lambda_1>::operator()() Line 185 C++
[Inline Frame] UnrealEditor-RHI.dll!LowLevelTasks::FTask::Init::__l13::<lambda_1>::operator()(const bool) Line 499 C++
[Inline Frame] UnrealEditor-RHI.dll!Invoke(LowLevelTasks::FTask::Init::__l13::<lambda_1> &) Line 47 C++
[Inline Frame] UnrealEditor-RHI.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init'::`2'::<lambda_1>>'::`13'::<lambda_1>,0>::Call(void *) Line 162 C++
UnrealEditor-RHI.dll!?CallAndMove@?$TTaskDelegateImpl@V<lambda_1>@?N@???$Init@V<lambda_1>@?1??0FTaskBase@Private@Tasks@UE@@IEAAXPEB_WW4ETaskPriority@LowLevelTasks@@W4EExtendedTaskPriority@45@W4ETaskFlags@45@@Z@@FTask@LowLevelTasks@@QEAAXPEB_WW4ETaskPriority@3@$$QEAV1?1??Init@FTaskBase@Private@Tasks@UE@@IEAAX01W4EExtendedTaskPriority@89@W4ETaskFlags@89@@Z@W4ETaskFlags@3@@Z@$0A@@?$TTaskDelegate@$$A6APEAVFTask@LowLevelTasks@@_N@Z$0DA@@LowLevelTasks@@UEAAPEAVFTask@3@AEAV23@PEAXI_N@Z(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> & Destination, void * InlineData, unsigned int DestInlineSize, bool <Params_0>) Line 171 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::CallAndMove(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> &) Line 308 C++
UnrealEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() Line 627 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask(LowLevelTasks::FTask * InTask) Line 245 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::FScheduler::TryExecuteTaskFrom(LowLevelTasks::Private::FWaitEvent *) Line 457 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerLoop(LowLevelTasks::Private::FWaitEvent * WorkerEvent, LowLevelTasks::Private::TLocalQueueRegistry<1024,1024>::TLocalQueue * WorkerLocalQueue, unsigned int WaitCycles, bool bPermitBackgroundWork) Line 514 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerMain(LowLevelTasks::Private::FWaitEvent * WorkerEvent, LowLevelTasks::Private::TLocalQueueRegistry<1024,1024>::TLocalQueue * WorkerLocalQueue, unsigned int WaitCycles, bool bPermitBackgroundWork) Line 571 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::CreateWorker::__l2::<lambda>() Line 75 C++
[Inline Frame] UnrealEditor-Core.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(void)>::operator()() Line 470 C++
UnrealEditor-Core.dll!FThreadImpl::Run() Line 69 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 159 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++
[External Code]

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-269068 in the post.

0
Login to Vote

Unresolved
CreatedApr 9, 2025
UpdatedApr 17, 2025
View Jira Issue