UE5 crashing when opening any blueprint

I’m still using using 4.27 for my project but have been trying to switch to UE5 as soon as the preview builds were proposed.
Everytime I start opening a blueprint, regardless of it’s size or importance in the project, it leads to a crash. I reported every crashes with the crash reporter in the hope of seeing the issue fixed in the next release but now we are at 5.1 and the issue persists.

I have installed the symbols in order to narrow the issue and it seems to come from the linker; last function called is FLinkerTables::GetImportPathName() in CoreObject.

Assets, materials and non scripted assets open fine. Does anyone know how to adress this as some features (nanite in particular) would be real game changers in my project.

Here is the latest crash trace I had with 5.1 prev2:
ue5_trace.txt (224.6 KB)

Edited to have some symbols in the body for search purpose:
Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000002ce558

UnrealEditor_Core!_mi_heap_malloc_zero() [D:\build++UE5\Sync\Engine\Source\ThirdParty\mimalloc\src\alloc.c:147]
UnrealEditor_Core!FMallocMimalloc::Realloc() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\MallocMimalloc.cpp:133]
UnrealEditor_Core!FMemory::Realloc() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\HAL\FMemory.inl:56]
UnrealEditor_Core!TArray<wchar_t,TSizedDefaultAllocator<32> >::ResizeTo() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Public\Containers\Array.h:2898]
UnrealEditor_Core!FString::FString() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Containers\String.cpp:236]
UnrealEditor_CoreUObject!FLinkerTables::GetImportPathName() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:260]
UnrealEditor_CoreUObject!FLinkerLoad::FixupImportMap() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:1813]
UnrealEditor_CoreUObject!FLinkerLoad::ProcessPackageSummary() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:767]
UnrealEditor_CoreUObject!FLinkerLoad::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:872]
UnrealEditor_CoreUObject!FLinkerLoad::CreateLinker() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:508]
UnrealEditor_CoreUObject!GetPackageLinker() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:885]
UnrealEditor_CoreUObject!LoadPackageInternal() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1574]
UnrealEditor_CoreUObject!<lambda_e187c05b3f652421c272f60ccc731f4f>::operator()() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3296]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3424]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::Verify() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2730]
UnrealEditor_CoreUObject!FLinkerLoad::FinalizeCreation() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2540]
UnrealEditor_CoreUObject!FLinkerLoad::ProcessPackageSummary() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:822]
UnrealEditor_CoreUObject!FLinkerLoad::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:872]
UnrealEditor_CoreUObject!FLinkerLoad::CreateLinker() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:508]
UnrealEditor_CoreUObject!GetPackageLinker() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:885]
UnrealEditor_CoreUObject!LoadPackageInternal() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1574]
UnrealEditor_CoreUObject!<lambda_e187c05b3f652421c272f60ccc731f4f>::operator()() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3296]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3424]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3452]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::Verify() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2730]
UnrealEditor_CoreUObject!FLinkerLoad::FinalizeCreation() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2540]
UnrealEditor_CoreUObject!FLinkerLoad::ProcessPackageSummary() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:822]
UnrealEditor_CoreUObject!FLinkerLoad::Tick() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:872]
UnrealEditor_CoreUObject!FLinkerLoad::CreateLinker() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:508]
UnrealEditor_CoreUObject!GetPackageLinker() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Linker.cpp:885]
UnrealEditor_CoreUObject!LoadPackageInternal() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1574]
UnrealEditor_CoreUObject!<lambda_e187c05b3f652421c272f60ccc731f4f>::operator()() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3296]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3424]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3452]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::CreateImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:5401]
UnrealEditor_CoreUObject!FLinkerLoad::IndexToObject() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:5546]
UnrealEditor_CoreUObject!FLinkerLoad::ResolveResource() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:4003]
UnrealEditor_CoreUObject!FLinkerLoad::operator<<() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:5799]
UnrealEditor_Core!FStructuredArchiveSlot::operator<<() [D:\build++UE5\Sync\Engine\Source\Runtime\Core\Private\Serialization\StructuredArchiveSlots.cpp:269]
UnrealEditor_CoreUObject!FObjectPtrProperty::StaticSerializeItem() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyObjectPtr.cpp:75]
UnrealEditor_CoreUObject!FObjectPtrProperty::SerializeItem() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyObjectPtr.cpp:52]
UnrealEditor_CoreUObject!FPropertyTag::SerializeTaggedProperty() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\PropertyTag.cpp:253]
UnrealEditor_CoreUObject!UStruct::SerializeVersionedTaggedProperties() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:1479]
UnrealEditor_CoreUObject!UStruct::SerializeTaggedProperties() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Class.cpp:1279]
UnrealEditor_CoreUObject!UObject::SerializeScriptProperties() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:1628]
UnrealEditor_CoreUObject!UObject::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:1453]
UnrealEditor_CoreUObject!UObject::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp:1337]
UnrealEditor_Engine!UActorComponent::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\ActorComponent.cpp:2388]
UnrealEditor_Engine!USceneComponent::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\SceneComponent.cpp:3456]
UnrealEditor_Engine!UPrimitiveComponent::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\PrimitiveComponent.cpp:993]
UnrealEditor_Engine!USkinnedMeshComponent::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\SkinnedMeshComponent.cpp:523]
UnrealEditor_Engine!USkeletalMeshComponent::Serialize() [D:\build++UE5\Sync\Engine\Source\Runtime\Engine\Private\Components\SkeletalMeshComponent.cpp:309]
UnrealEditor_CoreUObject!FLinkerLoad::Preload() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:4419]
UnrealEditor_CoreUObject!FLinkerLoad::CreateExportAndPreload() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3781]
UnrealEditor_CoreUObject!FLinkerLoad::LoadAllObjects() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3951]
UnrealEditor_CoreUObject!LoadPackageInternal() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp:1681]
UnrealEditor_CoreUObject!<lambda_e187c05b3f652421c272f60ccc731f4f>::operator()() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3296]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3424]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImportInner() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:3452]
UnrealEditor_CoreUObject!FLinkerLoad::VerifyImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:2951]
UnrealEditor_CoreUObject!FLinkerLoad::CreateImport() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp:5401]
UnrealEditor_CoreUObject!FLinkerLoad::ResolveDependencyPlaceholder() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Blueprint\BlueprintSupport.cpp:1652]
UnrealEditor_CoreUObject!FLinkerLoad::ResolveDeferredDependencies() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Blueprint\BlueprintSupport.cpp:1403]
UnrealEditor_CoreUObject!FLinkerLoad::ResolveAllImports() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Blueprint\BlueprintSupport.cpp:1781]
UnrealEditor_CoreUObject!FLinkerLoad::FinalizeBlueprint() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Blueprint\BlueprintSupport.cpp:1863]
UnrealEditor_CoreUObject!FLinkerLoad::FinalizeBlueprint() [D:\build++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\Blueprint\BlueprintSupport.cpp:1849]

It looks a bit like you’re running out of memory.

Try right clicking on the blueprint, and choose ‘size map’.

If you see a lot of stuff in there you shouldn’t, it means you have an ‘asset chain’ problem.

1 Like

Watching at the trace while uploading it, I also noticed there seems to be some kind of infinite loop going on.

Do you know how I could diagnose and fix that linker chain problem? and why does it not affect 4.27 engin?

In 4.27 I was able to open the size map, and indeed, any of my blueprint seem to be linked to every other, because of an utility blueprint with standard functions I use a lot.

I will try and break this dependency and see if UE5 can work with my project.

Thanks for the clue.

1 Like

It may not be the function library. But it will be something that has hard class references.

It could just be a stray variable.

I had it really bad at one point, because everything knew about my save game, and it knew about something else, and…

I really like that tool, Helps a lot to fix useless dependencies and make sure your classes are well decoupled.

But I think there might be another problem here. I tried opening one of my classes that has zero references with any classes or even assets and the same crash occurs.

Creating a new project and copying this class only I can open and edit it. But in no way I can safely migrate my project from 4.27 to 5.

I will continue to break dependancies and try reaching complete isolation of all my blueprints but I doubt that will do it…

1 Like

I think it may still be the same problem, but on a more subtle level, possibly…

Just a quick follow up.

I had my GameMode, GameState and GameInstance classes completed isolated from any dependancies from my custom classes; but this didn’t fix the issue.

Also I don’t think that’s a viable solution because in order to break final dependancies in the project I have to remove my custom playercontroller and default pawn class in the gamemode configation; or have those custom classes not knowing any other classes from the game. That would be a total nightmare to develop/maintain.

Obviously there are places where you just have to use a class :slight_smile:

I think the main thing is, can you see stuff in the size map that shouldn’t be there?

Then you can break those dependencies.

As of 5.3.2 the issue is still present. I am pretty sure there is something wrong with the linker as I can see it going in a circular iteration in the log I still get (same as the one I provided in my first post on the subject)…