Skip to content

footprint deletion client log errors #5136

@cmorley191

Description

@cmorley191

Description

The RemoveOldestFootPrint routine from the new footprints prediction ( #5111 ) is causing error spam in the console on the client when it runs. The error is this line in ClientEntityManager.cs

            // Client-side entity deletion is not supported and will cause errors.
            if (_client.RunLevel == ClientRunLevel.Connected || _client.RunLevel == ClientRunLevel.InGame)
                LogManager.RootSawmill.Error($"Predicting the queued deletion of a networked entity: {ToPrettyString(uid.Value)}. Trace: {Environment.StackTrace}");

This was reported in #server-issues -- I'm not sure if it's actually the cause of current server issues, but it's definitely something we should fix.

Reproduction

  • Boot up the game and get into a map
  • Run command: cvar footprints.max_per_grid 10 to make the footprint deletion run earlier (default is 1000 footprints)
  • Spawn an urist and walk through puddles, as soon as you have 10+ footprints, the logs will start spamming in Content.Client console
Image
Full error log text
[ERRO] root: Predicting the queued deletion of a networked entity: footstep (5738/n132238, Footstep). Trace:    at System.Environment.get_StackTrace()
   at Robust.Client.GameObjects.ClientEntityManager.QueueDeleteEntity(Nullable`1 uid) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameObjects\ClientEntityManager.cs:line 95
   at Content.Shared._EE.FootPrint.Systems.FootPrintsSystem.RemoveOldestFootPrint(GridFootPrintsComponent gridFootPrints) in S:\SS14\Development\DeltaV\Delta-v\Content.Shared\_EE\Footprint\Systems\FootPrintsSystem.cs:line 257
   at Content.Shared._EE.FootPrint.Systems.FootPrintsSystem.TrackFootPrint(EntityUid gridUid, NetEntity footPrintUid, Vector2i tile) in S:\SS14\Development\DeltaV\Delta-v\Content.Shared\_EE\Footprint\Systems\FootPrintsSystem.cs:line 211
   at Content.Shared._EE.FootPrint.Systems.FootPrintsSystem.OnMove(Entity`1 ent, MoveEvent& args) in S:\SS14\Development\DeltaV\Delta-v\Content.Shared\_EE\Footprint\Systems\FootPrintsSystem.cs:line 159
   at Robust.Shared.GameObjects.EntityEventBus.<>c__DisplayClass67_0`1.<EntSubscribe>b__0(EntityUid uid, IComponent comp, Unit& ev) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\GameObjects\EntityEventBus.Directed.cs:line 460
   at Robust.Shared.GameObjects.EntityEventBus.EntDispatch(EntityUid euid, Type eventType, Unit& args) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\GameObjects\EntityEventBus.Directed.cs:line 633
   at Robust.Shared.GameObjects.EntityEventBus.RaiseLocalEvent[TEvent](EntityUid uid, TEvent& args, Boolean broadcast) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\GameObjects\EntityEventBus.Directed.cs:line 218
   at Robust.Shared.GameObjects.SharedTransformSystem.RaiseMoveEvent(Entity`2 ent, EntityUid oldParent, Vector2 oldPosition, Angle oldRotation, Nullable`1 oldMap, Boolean checkTraversal) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\GameObjects\Systems\SharedTransformSystem.cs:line 293
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.UpdateBodies(IslandData& island, Vector2[] positions, Single[] angles, Vector2[] linearVelocities, Single[] angularVelocities) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\Physics\Systems\SharedPhysicsSystem.Island.cs:line 1072
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.SolveIslands(List`1 islands, Single frameTime, Single dtRatio, Single invDt, Boolean prediction) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\Physics\Systems\SharedPhysicsSystem.Island.cs:line 692
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.Solve(Single frameTime, Single dtRatio, Single invDt, Boolean prediction) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\Physics\Systems\SharedPhysicsSystem.Island.cs:line 551
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.SimulateWorld(Single deltaTime, Boolean prediction) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\Physics\Systems\SharedPhysicsSystem.cs:line 303
   at Robust.Shared.GameObjects.EntitySystemManager.TickUpdate(Single frameTime, Boolean noPredictions) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\GameObjects\EntitySystemManager.cs:line 318
   at Robust.Client.GameStates.ClientGameStateManager.PredictTicks(GameTick predictionTarget) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameStates\ClientGameStateManager.cs:line 490
   at Robust.Client.GameStates.ClientGameStateManager.ApplyGameState() in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameStates\ClientGameStateManager.cs:line 472
   at Robust.Client.GameController.Tick(FrameEventArgs frameEventArgs) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameController\GameController.cs:line 562
   at Robust.Shared.Timing.GameLoop.Run() in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Shared\Timing\GameLoop.cs:line 248
   at Robust.Client.GameController.ContinueStartupAndLoop(DisplayMode mode) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameController\GameController.Standalone.cs:line 166
   at Robust.Client.GameController.GameThreadMain(DisplayMode mode) in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameController\GameController.Standalone.cs:line 151
   at Robust.Client.GameController.<>c__DisplayClass109_0.<Run>b__0() in S:\SS14\Development\DeltaV\Delta-v\RobustToolbox\Robust.Client\GameController\GameController.Standalone.cs:line 110
[INFO] system.map: Grid Voluta-92-H (129/n37821) changed parent. Old parent: Map Entity (128/n37820). New parent: Asterisk (83/n20)

Additional context

I'm afraid I don't have a lot of knowledge about SS14's prediction logic. I'm not sure what the appropriate fix is here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions