View Issue Details

IDProjectCategoryView StatusLast Update
0005192NoesisGUIUnrealpublic2026-08-31 22:16
Reporterkevin.GW Assigned Tohcpizzi  
PrioritynormalSeveritycrash 
Status assignedResolutionopen 
Product Version3.2.12 
Target Version4.0.1 
Summary0005192: Crash while cooking a bound Material with Texture2D parameters
Description
  • Add custom binding in Unreal for UMaterial
  • Add Texture2D parameters
  • Cook
  • Crash

[Inline Frame] UnrealEditor-NoesisRuntime.dll!Noesis::Ptr<Noesis::BitmapSource>::{ctor}(Noesis::BitmapSource ) Line 29 C++
UnrealEditor-NoesisRuntime.dll!Noesis::StaticPtrCast<Noesis::BitmapSource,Noesis::BaseComponent>(const Noesis::Ptr<Noesis::BaseComponent> & from) Line 79 C++
UnrealEditor-NoesisRuntime.dll!NoesisCreateTypeClassForUMaterial(UMaterialInterface
Material) Line 3358 C++
UnrealEditor-NoesisRuntime.dll!NoesisReflectionRegistryCallback(Noesis::Symbol Name) Line 4540 C++
[External Code]
UnrealEditor-NoesisEditor.dll!FNoesisEditorModule::FixNoesisXamlDependencies() Line 516 C++
UnrealEditor-NoesisEditor.dll!FNoesisEditorModule::OnPostEngineInit() Line 423 C++

Made some local changes to the UE runtime to try and isolate the erorr, it seems to be the AddReference call in Noesis::Ptr<BitmapSource> ctor.
Currently discussing with our IT team if we can safely upload the crash dump but I can post some investigations:

NoesisCreateTypeClassForUMaterial in NoesisTypeClass.cpp

NoesisCreateComponentForUObject seems to create a valid Ptr<BaseComponent>
StaticPtrCast<BitmapSource>( createdComponent ) calls through to AddReference which it can't seem to find. Looks like it can't find the virtual function in the vtable, looking at disassembly to see what it 's doing.

Attached Files
UECookCrashCallstack.txt (2,105 bytes)   
>	[Inline Frame] UnrealEditor-NoesisRuntime.dll!Noesis::Ptr<Noesis::BitmapSource>::{ctor}(Noesis::BitmapSource *) Line 29	C++
 	UnrealEditor-NoesisRuntime.dll!Noesis::StaticPtrCast<Noesis::BitmapSource,Noesis::BaseComponent>(const Noesis::Ptr<Noesis::BaseComponent> & from) Line 79	C++
 	UnrealEditor-NoesisRuntime.dll!NoesisCreateTypeClassForUMaterial(UMaterialInterface * Material) Line 3358	C++
 	UnrealEditor-NoesisRuntime.dll!NoesisReflectionRegistryCallback(Noesis::Symbol Name) Line 4540	C++
 	[External Code]	
 	UnrealEditor-NoesisEditor.dll!FNoesisEditorModule::FixNoesisXamlDependencies() Line 516	C++
 	UnrealEditor-NoesisEditor.dll!FNoesisEditorModule::OnPostEngineInit() Line 423	C++
 	[Inline Frame] UnrealEditor-NoesisEditor.dll!Invoke(void(FNoesisEditorModule::*)()) Line 66	C++
 	[Inline Frame] UnrealEditor-NoesisEditor.dll!UE::Core::Private::Tuple::TTupleBase<TIntegerSequence<unsigned int>>::ApplyAfter(void(FNoesisEditorModule::*)() &) Line 309	C++
 	UnrealEditor-NoesisEditor.dll!TBaseRawMethodDelegateInstance<0,FNoesisEditorModule,void __cdecl(void),FDefaultDelegateUserPolicy>::ExecuteIfSafe() Line 534	C++
 	[Inline Frame] UnrealEditor-Cmd.exe!TMulticastDelegateBase<FDefaultDelegateUserPolicy>::Broadcast() Line 254	C++
 	UnrealEditor-Cmd.exe!TMulticastDelegate<void __cdecl(void),FDefaultDelegateUserPolicy>::Broadcast() Line 956	C++
 	UnrealEditor-Cmd.exe!FEngineLoop::PreInitPostStartupScreen(const wchar_t * CmdLine) Line 4148	C++
 	[Inline Frame] UnrealEditor-Cmd.exe!FEngineLoop::PreInit(const wchar_t *) Line 4469	C++
 	[Inline Frame] UnrealEditor-Cmd.exe!EnginePreInit(const wchar_t *) Line 41	C++
 	UnrealEditor-Cmd.exe!GuardedMain(const wchar_t * CmdLine) Line 136	C++
 	UnrealEditor-Cmd.exe!GuardedMainWrapper(const wchar_t * CmdLine) Line 118	C++
 	UnrealEditor-Cmd.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 258	C++
 	UnrealEditor-Cmd.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298	C++
UECookCrashCallstack.txt (2,105 bytes)   
Screenshot 2026-08-31 140443.png (215,210 bytes)   
Screenshot 2026-08-31 140443.png (215,210 bytes)   
PlatformAny

Activities

jsantos

jsantos

2026-08-31 20:22

manager   ~0012570

Is this in 4.0?

kevin.GW

kevin.GW

2026-08-31 21:11

reporter   ~0012572

Oh sorry, no not 4.0 we are on 3.2.12

kevin.GW

kevin.GW

2026-08-31 22:16

reporter   ~0012573

Got a fix locally by adding this code to NoesisCreateComponentForUObject. It seems like UTexture2D was falling into creating a NoesisObjectWrapper which was failing the static cast into BitmapSource. Adding this special case to use NoesisTextureWrapper instead fixes the cook crash

image.png (69,245 bytes)   
image.png (69,245 bytes)   

Issue History

Date Modified Username Field Change
2026-08-31 20:09 kevin.GW New Issue
2026-08-31 20:09 kevin.GW File Added: UECookCrashCallstack.txt
2026-08-31 20:09 kevin.GW File Added: Screenshot 2026-08-31 140443.png
2026-08-31 20:21 jsantos Assigned To => hcpizzi
2026-08-31 20:21 jsantos Status new => assigned
2026-08-31 20:21 jsantos Target Version => 4.0.1
2026-08-31 20:22 jsantos Note Added: 0012570
2026-08-31 20:22 jsantos Status assigned => feedback
2026-08-31 21:11 kevin.GW Note Added: 0012572
2026-08-31 21:11 kevin.GW Status feedback => assigned
2026-08-31 21:16 jsantos Product Version => 3.2.12
2026-08-31 22:16 kevin.GW Note Added: 0012573
2026-08-31 22:16 kevin.GW File Added: image.png