Page MenuHomeFeedback Tracker

RplLoad reads wrong integer on JIP replication
Assigned, NormalPublic

Description

Getting a really strange issue with JIP replication (RplSave/RplLoad)

03:23:45.567 SCRIPT : Replicating 2370 support mods
03:23:45.567 RPL (W): IReplication::ReadPastBoundary: Item read past boundary of its written init data. item=0x40022F62, layout='script::Game::OVT_TownManagerComponent', initSize=4147b, overBoundary=663b

Replicating an array of integers by first writing the length with writer.WriteInt and then each item. On the server it reports length as being just 1 and then writes that int fine. When it gets to the client the number suddenly becomes a huge number (in the above case, 2370) so obviously reads past the boundary

Component with issue can be seen here: https://github.com/ArmaOverthrow/Overthrow.Arma4/blob/main/Scripts/Game/GameMode/Managers/OVT_TownManagerComponent.c

Seems to be related to the initSize of the replication, begins to happen over about 4kb of data

Details

Severity
None
Resolution
Open
Reproducibility
N/A
Operating System
Windows 7
Category
General

Event Timeline

It doesnt seem to be related to the initSize, I have reduced the size considerably and still get the problem.

Added more logging and you can clearly see the numbers are just plain wrong:

Server:
16:45:46.656 SCRIPT : Writing 19 towns
16:45:46.656 SCRIPT : Writing town ID 0
16:45:46.656 SCRIPT : Writing 2 stability modifiers
16:45:46.656 SCRIPT : Writing 3 support modifiers
16:45:46.656 SCRIPT : Writing town ID 1
16:45:46.656 SCRIPT : Writing 1 stability modifiers
16:45:46.656 SCRIPT : Writing 2 support modifiers
16:45:46.657 SCRIPT : Writing town ID 2
16:45:46.657 SCRIPT : Writing 0 stability modifiers
16:45:46.657 SCRIPT : Writing 2 support modifiers
16:45:46.657 SCRIPT : Writing town ID 3
16:45:46.657 SCRIPT : Writing 0 stability modifiers
16:45:46.657 SCRIPT : Writing 0 support modifiers
16:45:46.657 SCRIPT : Writing town ID 4
16:45:46.657 SCRIPT : Writing 0 stability modifiers
16:45:46.657 SCRIPT : Writing 0 support modifiers
16:45:46.657 SCRIPT : Writing town ID 5
16:45:46.657 SCRIPT : Writing 1 stability modifiers
16:45:46.657 SCRIPT : Writing 1 support modifiers
16:45:46.657 SCRIPT : Writing town ID 6
16:45:46.657 SCRIPT : Writing 0 stability modifiers
16:45:46.657 SCRIPT : Writing 1 support modifiers
16:45:46.657 SCRIPT : Writing town ID 7
16:45:46.657 SCRIPT : Writing 0 stability modifiers
16:45:46.658 SCRIPT : Writing 1 support modifiers
16:45:46.658 SCRIPT : Writing town ID 8
16:45:46.658 SCRIPT : Writing 0 stability modifiers
16:45:46.658 SCRIPT : Writing 1 support modifiers
16:45:46.658 SCRIPT : Writing town ID 9
16:45:46.658 SCRIPT : Writing 1 stability modifiers
16:45:46.658 SCRIPT : Writing 1 support modifiers
16:45:46.658 SCRIPT : Writing town ID 10
16:45:46.658 SCRIPT : Writing 0 stability modifiers
16:45:46.658 SCRIPT : Writing 1 support modifiers
16:45:46.658 SCRIPT : Writing town ID 11
16:45:46.658 SCRIPT : Writing 0 stability modifiers
16:45:46.658 SCRIPT : Writing 1 support modifiers
16:45:46.658 SCRIPT : Writing town ID 12
16:45:46.658 SCRIPT : Writing 0 stability modifiers
16:45:46.658 SCRIPT : Writing 1 support modifiers
16:45:46.658 SCRIPT : Writing town ID 13
16:45:46.658 SCRIPT : Writing 0 stability modifiers
16:45:46.658 SCRIPT : Writing 2 support modifiers
16:45:46.658 SCRIPT : Writing town ID 14
16:45:46.659 SCRIPT : Writing 0 stability modifiers
16:45:46.659 SCRIPT : Writing 0 support modifiers
16:45:46.659 SCRIPT : Writing town ID 15
16:45:46.659 SCRIPT : Writing 0 stability modifiers
16:45:46.659 SCRIPT : Writing 2 support modifiers
16:45:46.659 SCRIPT : Writing town ID 16
16:45:46.659 SCRIPT : Writing 0 stability modifiers
16:45:46.659 SCRIPT : Writing 1 support modifiers
16:45:46.659 SCRIPT : Writing town ID 17
16:45:46.659 SCRIPT : Writing 0 stability modifiers
16:45:46.659 SCRIPT : Writing 1 support modifiers
16:45:46.659 SCRIPT : Writing town ID 18
16:45:46.659 SCRIPT : Writing 0 stability modifiers
16:45:46.659 SCRIPT : Writing 2 support modifiers

Client:
09:46:02.774 rpl::Pip::ProcessNetToGame
09:46:02.774 SCRIPT : Replicating 19 towns
09:46:02.774 SCRIPT : Replicating town ID 0
09:46:02.774 SCRIPT : Replicating 2 stability mods
09:46:02.774 SCRIPT : Replicating 3 support mods
09:46:02.774 SCRIPT : Replicating town ID 1
09:46:02.774 SCRIPT : Replicating 1 stability mods
09:46:02.774 SCRIPT : Replicating 0 support mods
09:46:02.774 SCRIPT : Replicating town ID 2
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 2 support mods
09:46:02.774 SCRIPT : Replicating town ID 3
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 2 support mods
09:46:02.774 SCRIPT : Replicating town ID 4
09:46:02.774 SCRIPT : Replicating 23 stability mods
09:46:02.774 SCRIPT : Replicating 1 support mods
09:46:02.774 SCRIPT : Replicating town ID 5
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 1 support mods
09:46:02.774 SCRIPT : Replicating town ID 6
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 1 support mods
09:46:02.774 SCRIPT : Replicating town ID 7
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 2 support mods
09:46:02.774 SCRIPT : Replicating town ID 8
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 0 support mods
09:46:02.774 SCRIPT : Replicating town ID 9
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 2 support mods
09:46:02.774 SCRIPT : Replicating town ID 10
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.774 SCRIPT : Replicating 1 support mods
09:46:02.774 SCRIPT : Replicating town ID 11
09:46:02.774 SCRIPT : Replicating 0 stability mods
09:46:02.775 SCRIPT : Replicating 1 support mods
09:46:02.775 SCRIPT : Replicating town ID 12
09:46:02.775 SCRIPT : Replicating 0 stability mods
09:46:02.775 SCRIPT : Replicating 2 support mods
09:46:02.775 SCRIPT : Replicating town ID 13
09:46:02.775 SCRIPT : Replicating 1 stability mods
09:46:02.775 SCRIPT : Replicating 13891 support mods
09:46:02.775 RPL (W): IReplication::ReadPastBoundary: Item read past boundary of its written init data. item=0x40022F62, layout='script::Game::OVT_TownManagerComponent', initSize=1603b, overBoundary=772b

Geez changed the task status from New to Assigned.May 23 2023, 12:37 PM