Unreal Engine 5.5 Released

That Random_Weather_Variation_C also was one of the BPs triggering FAsyncLoadingThread crash / FLinkerLoad::Preload failing to load. Circular dependencies sound like causing the crash, but would be bit overkill to add interfaces for everything.

1 Like

This is very true. There has been a bit of digging since this post and we landed here


The current thought is maybe this isn’t working as intended in 5.5 since 5.4 presented with no issues.

They have changed row 678 in linkerload.cpp. It was

if(OldObjectLinker->GetSerializeContext())
		{
			OldObjectLinker->GetSerializeContext()->PRIVATE_PatchNewObjectIntoExport(OldObject, NewObject);
		}

Now


FUObjectThreadContext::Get().GetSerializeContext()->PRIVATE_PatchNewObjectIntoExport(OldObject, NewObject);

Also in FLinkerLoad::Preload the “Toggle support for IDOs” (around row 4640) was

// Toggle support for IDOs
					FUObjectSerializeContext* LoadContext = FUObjectThreadContext::Get().GetSerializeContext();
					// Enable property path tracking when IDO support is enabled. Both property bags and IDO creation require the paths.
					const bool bHasIDOSupport = UE::IsInstanceDataObjectSupportEnabled(Object);
					TGuardValue<bool> ScopedTrackSerializedPropertyPath(LoadContext->bTrackSerializedPropertyPath, bHasIDOSupport);
					// Enable creation of a property bag to hold any property that does not match the current class schema,
					// except when impersonation is enabled because that implies we are deserializing an IDO.
					const bool bCreateIDO = bHasIDOSupport && !LoadContext->bImpersonateProperties;
					TGuardValue<bool> ScopedSerializeUnknownProperty(LoadContext->bSerializeUnknownProperty, bCreateIDO);

In UE5.5 now:
UE::FScopedIDOSerializationContext IDOLoadContext(Object, *this);

This been removed in row 4773

// Object has been deserialized, if IDO is enabled, generate it
if (bCreateIDO)
					{
						UE::FPropertyBagRepository::Get().CreateInstanceDataObject(Object);
					}

As soon as you turn on Hardware Raytracing to turn on MegaLights and do a Windows Shipping Build you get this : LowLevelFatalError [File:D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Util.cpp] [Line: 991]
RayTracingDevice->CreateStateObject(&Desc, IID_PPV_ARGS(Result.GetInitReference())) failed
at D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12RayTracing.cpp:663
with error E_INVALIDARG

0x00007ff71f4ef477 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f49a895 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f49c690 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f49d4e8 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da50ff1 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71dbed682 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da5223b BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f48e0a1 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f4a4a13 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f5bf494 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71f5c1920 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da50ff1 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da3d7bf BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da402ee BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da52c23 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71da3a191 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71dac7db4 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71dc08117 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ff71dc07ee9 BRAVE-Win64-Shipping.exe!UnknownFunction
0x00007ffcd3337374 KERNEL32.DLL!UnknownFunction

Crash in runnable thread Background Worker #2

Having interface event and one bp with same infintely preload so most likely the interfaces will not fix the crash.

BTTAsk_RandomMoveLoc_C have no references except behaviour trees. All data using interfaces. And that last AIDrive_IF_SetWingMan is interface event passing actorref.

1 Like


Found one more error from one preload it dosent fail but give non crashing error. BlueprintGeneratedClass.cpp _ line 759

// This feature requires EDL at cook time, so ensure that the source template is also fully loaded at this point.
				// Also ensure that the source template is not a class default object; it must always be a unique archetype object.
				if (SourceTemplate != nullptr
					&& ensure(!SourceTemplate->HasAnyFlags(RF_NeedLoad))
					&& ensure(!SourceTemplate->HasAnyFlags(RF_ClassDefaultObject)))

Seems like SourceTemplate could be nullptr but the condition also do the ensure check. Should it be inside separate if?

Building source now and I can toss it in and check. TY very much for digging in here with me :slight_smile:

Have you narrowed this down any further? I attached symbols and I’m stepping through but I simply cannot see the cause just yet.

Avid DNxHR/DnxMXF Media Plugin is throwing a linker error while packaging a build. Reproducable with game template and activating the plugin.

UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual class TUniquePtr<struct MovieRenderGraph::IVideoCodecWriter,struct TDefaultDelete > __cdecl UMovieGraphAvidDNxHRNode::Initialize_GameThread(struct UMovieGraphVideoOutputNode::FMovieGraphVideoNodeInitializationContext const &)” (?Initialize_GameThread@UMovieGraphAvidDNxHRNode@@MEAA?AV?$TUniquePtr@UIVideoCodecWriter@MovieRenderGraph@@U?$TDefaultDelete@UIVideoCodecWriter@MovieRenderGraph@@@@@@AEBUFMovieGraphVideoNodeInitializationC
ontext@UMovieGraphVideoOutputNode@@@Z)
UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual bool __cdecl UMovieGraphAvidDNxHRNode::Initialize_EncodeThread(struct MovieRenderGraph::IVideoCodecWriter *)” (?Initialize_EncodeThread@UMovieGraphAvidDNxHRNode@@MEAA_NPEAUIVideoCodecWriter@MovieRenderGraph@@@Z)
UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual void __cdecl UMovieGraphAvidDNxHRNode::WriteFrame_EncodeThread(struct MovieRenderGraph::IVideoCodecWriter *,struct FImagePixelData *,class TArray<struct TTuple<struct FMovieGraphRenderDataIdentifier,class TUniquePtr<struct FImagePixelData,struct TDefaultDelete > >,class TSizedDefaultAllocator<32> > &&,struct TObjectPtr,class FString const &)” (?WriteFrame_EncodeThread@UMovieGraphAvidDNxHRNode@@MEAAXPEAUIVideoCodecW
riter@MovieRenderGraph@@PEAUFImagePixelData@@$$QEAV?$TArray@U?$TTuple@UFMovieGraphRenderDataIdentifier@@V?$TUniquePtr@UFImagePixelData@@U?$TDefaultDelete@UFImagePixelData@@@@@@@@V?$TSizedDefaultAllocator@$0CA@@@@@U?$TObjectPtr@VUMovieGraphEvaluatedConfig@@@@AEBVFString@@@Z)
UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual void __cdecl UMovieGraphAvidDNxHRNode::BeginFinalize_EncodeThread(struct MovieRenderGraph::IVideoCodecWriter *)” (?BeginFinalize_EncodeThread@UMovieGraphAvidDNxHRNode@@MEAAXPEAUIVideoCodecWriter@MovieRenderGraph@@@Z)
UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol “protected: virtual void __cdecl UMovieGraphAvidDNxHRNode::Finalize_EncodeThread(struct MovieRenderGraph::IVideoCodecWriter *)” (?Finalize_EncodeThread@UMovieGraphAvidDNxHRNode@@MEAAXPEAUIVideoCodecWriter@MovieRenderGraph@@@Z)
UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual wchar_t const * __cdecl UMovieGraphAvidDNxHRNode::GetFilenameExtension(void)const " (?GetFilenameExtension@UMovieGraphAvidDNxHRNode@@MEBAPEB_WXZ)
UATHelper: Packaging (Windows): Module.AvidDNxMedia.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual bool __cdecl UMovieGraphAvidDNxHRNode::IsAudioSupported(void)const " (?IsAudioSupported@UMovieGraphAvidDNxHRNode@@MEBA_NXZ)
UATHelper: Packaging (Windows): E:\Unreal\MyProjectAvid\Binaries\Win64\MyProjectAvid.exe : fatal error LNK1120: 7 unresolved externals

Hello,

I’m curious to ask how it behaves on macOS?

Niagara Fluids
Hair export / import from DCC
Water system
Landscape editing is broken or not?
ML deformations?
Lumen MegaLights work ok or not?

Thanks!

Thank you for the info @IronicParadox !

As I already experienced this error in Preview, 45 days ago, I thought this was maybe being an isolated issue (just me), or getting lost and ignored. However I see quite people affected by this, so I don’t understand why they didn’t noticed and fixed this elemental issue before exiting Preview stage. We cannot package even with the most common project settings!

Anyway, there are other related issues in my post, still happening, like the one getting a Fatal Error without no more details, or the one mentioning the audio.

In addition, SetRes cvar seems broken too, not respecting Fullscreen mode.

@Matthew.Ivey , I’m sending you a repro project, so you can easily test.

Thank you so much!

Havent yet. Could be too deep code stuff for me to work around, but will keep you updated if finding something.

1 Like

In Ultra Dynamic Sky discord they found this:
"Through some trial and error, figured out that the thing this 5.5 project doesn’t like is any blueprint actor which contains an actor component which references the owner’s class. "

Will need to make sure to replace that kind of connection with interfaces.

Yeah I saw… however I’d say this is a bug the LoadLinker should still handle this gracefully. Now its about finding it in the deferred method for LinkerLoad and BlueprintSupport.cpp

I have tried to repo this description the best I could with no luck.

Project continue to load up… I really need a basic small project to repo so I can narrow down the exact cause UDW is just too massive and it takes forever to recurse through the code via breakpoints and look at each class ref. The loadLinker and BlueprintSupport segment deferred method iteration step is huge. It builds a proxy for each reference and holds them until each circular dependency is found and once complete registers the class. This means I gotta watch every class multiple times to try and catch a bad outer or bad component owner. Narrowing this down is essential to solving the issue. We know its not just UDW impacted as many are reporting these overflows but it’s usually around marketplace assets that are substantial in size.

Fatal error here as well in packaged build.

1 Like

Can confirm that as well.

The Fatal error “LowLevelFatalError/RayTracingDevice/E_INVALIDARG” probably also appears on Vulkan but on Vulkan I just get a Fatal error without any more info. If I switch to DX12, I get this error.

Vulkan: Nvidia 566.03 driver crashes if “Max Reflection Bounces” in PPV is set higher than 1. Driver 560.76 works here.

@Pixel452 - Yes, the issue isn’t just specific to Unreal Engine; it has the same root cause. I’m unsure what the timeline looks like for Fortnite specifically however be patient, it will be addressed :smiley:

@EddieChristian - This will likely be addressed, as it appears to be related to the issue @IronicParadox had mentioned above. I will definitely investigate to be sure!

@Miguel1900 - I will take a look at your previous post and see what investigations I can discover, however be patient as I have limited time to test things :slight_smile:

4 Likes