Assertion failed: ArrayNum < ShadowArrayNum || SharedParams.Cmds[CmdIndex + 1].Type == ERepLayoutCmdType::DynamicArray

Hey,

I recently upgraded to 4.24, and have run into the problem of the title.

Assertion failed: ArrayNum < ShadowArrayNum || SharedParams.Cmds[CmdIndex + 1].Type == ERepLayoutCmdType::DynamicArray [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Engine/Private/RepLayout.cpp] [Line: 1187]

I don’t really know where to go from since there is no specific indication as to what’s going on (From my side). This is the full callstack

Assertion failed: ArrayNum < ShadowArrayNum || SharedParams.Cmds[CmdIndex + 1].Type == ERepLayoutCmdType::DynamicArray [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Engine/Private/RepLayout.cpp] [Line: 1187]

UE4Editor_Core
UE4Editor_Core
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll

Checking that File from UE4 Source, the error comes while checking the function FRepLayout::MergeChangeList_r(). I’m not sure where to go from here, nor what it could be that I’m doing wrong.

The funny thing is that it’s crashing on game-launch whenever running on online mode. The error originally showed up coming from an actor that is not present on the map being played nor is it being spawned by any present actor nor their respective components.

Help?

The RepLayout is related to replication I think. I’ve only come across it when doing manual replication with some custom “ReplicateSubobjects” function.

Are you doing any kind of replication, either the default “UPROPERTY(Replicated)” [or any variation of this] or maybe even custom replication with overriding the ReplicateSubobjects function?
You might want to dig into that code then, maybe show us some pieces if you’re not sure where it might be coming from.

Yes. It ended up being a Blueprint Class that inherited from my C++ Class (with no new properties of their own). Recreated the class. I haven’t been able to recreate the error on that class yet. :shrug: