Description

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.

Steps to Reproduce
  1. Create new C++ project
  2. Launch editor
  3. Create new Actor class
  4. Add following USTRUCT( ) above Actor class
    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;
    };
    
  5. Add following TArray in public: of Actor class:
    	TArray<FMainTask, TInlineAllocator<1048573>> MainTaskList;
    
  6. Compile project
  7. Add C++ Actor class in level, via C++ Class folder.
  8. PIE (notice no assert)
  9. Create child Blueprint from C++ Actor
  10. Add child Blueprint of C++ Actor to level.
  11. PIE

RESULT:

Assertion failed: (InOffset & ~0xFFFFF) == 0 [Link Removed] [Line: 53]

EXPECTED:

Same result when adding class to level as child Blueprint class.

Callstack
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

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Won't Fix
ComponentUE - Foundation - Core
Affects Versions4.12.5
Target Fix4.14
CreatedJul 22, 2016
ResolvedJul 25, 2016
UpdatedApr 27, 2018