If a TArray has a TInlineAllocator with a large number and the class is used with a child Blueprint, the editor will throw an assert. If the base C++ Class is used instead of the Blueprint, the assert is never thrown.
USTRUCT(BlueprintType, Blueprintable) struct FMainTask { GENERATED_USTRUCT_BODY(); UPROPERTY(EditAnywhere, BlueprintReadWrite) int as1; UPROPERTY(EditAnywhere, BlueprintReadWrite) int as12; UPROPERTY(EditAnywhere, BlueprintReadWrite) int as13; UPROPERTY(EditAnywhere, BlueprintReadWrite) int as14; UPROPERTY(EditAnywhere, BlueprintReadWrite) int as15; };
TArray<FMainTask, TInlineAllocator<1048573>> MainTaskList;
RESULT:
Assertion failed: (InOffset & ~0xFFFFF) == 0 [Link Removed] [Line: 53]
EXPECTED:
Same result when adding class to level as child Blueprint class.
MachineId:E718AAAF44F5F6DA613C599B98168A86 EpicAccountId:a9a0b99ddf7941d78f8878a89379da48 Assertion failed: (InOffset & ~0xFFFFF) == 0 [File:D:\UnrealEngine-4.12\Engine\Source\Runtime\CoreUObject\Public\UObject\GarbageCollection.h] [Line: 53] UE4Editor_Core!FDebug::AssertFailed() [d:\unrealengine-4.12\engine\source\runtime\core\private\misc\outputdevice.cpp:440] UE4Editor_CoreUObject!UObjectProperty::EmitReferenceInfo() [d:\unrealengine-4.12\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:1635] UE4Editor_CoreUObject!UClass::AssembleReferenceTokenStream() [d:\unrealengine-4.12\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:1804] UE4Editor_CoreUObject!FRealtimeGC::MarkObjectsAsUnreachable<1>() [d:\unrealengine-4.12\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:772] UE4Editor_CoreUObject!FRealtimeGC::PerformReachabilityAnalysis() [d:\unrealengine-4.12\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:814] UE4Editor_CoreUObject!CollectGarbageInternal() [d:\unrealengine-4.12\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:1246] UE4Editor_CoreUObject!CollectGarbage() [d:\unrealengine-4.12\engine\source\runtime\coreuobject\private\uobject\garbagecollection.cpp:1341] UE4Editor_Engine!UGameInstance::InitializePIE() [d:\unrealengine-4.12\engine\source\runtime\engine\private\gameinstance.cpp:193] UE4Editor_UnrealEd!UEditorEngine::CreatePIEGameInstance() [d:\unrealengine-4.12\engine\source\editor\unrealed\private\playlevel.cpp:2893] UE4Editor_UnrealEd!UEditorEngine::PlayInEditor() [d:\unrealengine-4.12\engine\source\editor\unrealed\private\playlevel.cpp:2346] UE4Editor_UnrealEd!UEditorEngine::StartQueuedPlayMapRequest() [d:\unrealengine-4.12\engine\source\editor\unrealed\private\playlevel.cpp:1103] UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\unrealengine-4.12\engine\source\editor\unrealed\private\editorengine.cpp:1246] UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\unrealengine-4.12\engine\source\editor\unrealed\private\unrealedengine.cpp:368] UE4Editor!FEngineLoop::Tick() [d:\unrealengine-4.12\engine\source\runtime\launch\private\launchengineloop.cpp:2775] UE4Editor!GuardedMain() [d:\unrealengine-4.12\engine\source\runtime\launch\private\launch.cpp:148] UE4Editor!GuardedMainWrapper() [d:\unrealengine-4.12\engine\source\runtime\launch\private\windows\launchwindows.cpp:126] UE4Editor!WinMain() [d:\unrealengine-4.12\engine\source\runtime\launch\private\windows\launchwindows.cpp:200] UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264] kernel32 ntdll
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Foundation - Core |
---|---|
Affects Versions | 4.12.5 |
Target Fix | 4.14 |
Created | Jul 22, 2016 |
---|---|
Resolved | Jul 25, 2016 |
Updated | Apr 27, 2018 |