godot icon indicating copy to clipboard operation
godot copied to clipboard

Crazy error with ENetMultiplayer

Open kawht opened this issue 1 year ago • 3 comments

Tested versions

v4.2.2.rc1.official [c7fb0645a]

System information

Windows 10/64 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 Desktop GPU (NVIDIA; 31.0.15.4633)

Issue description

I have been having issues trying to get my multiplayer working, and have been battling many bugs. One bug is the garbled mess shown below. This is exactly as it comes from the console. Some errors are legible (as in not a crazy aztec language) but even the legible ones (ERROR: Condition "!pinfo" is true. Continuing.) confuse me. I can't narrow down what is causing them to apear.

My scene setup is pretty like this: root

  • World
  • MultiplayerSpawner (only to spawn scenes under "Level")
    • Level
      • Map1
        • Players
          • 1 (server)
          • ServerSynchronizer (position, rotation, etc.)
          • 1837827 (client) (same as server)
        • MultiplayerSpawner (Spawns everything in "Map1")
        • MultiplayerSpawner2 (Spawns only players in "Players")
        • etc. map stuff
ERROR: Condition "paproesnitt-i>ohans:_ n(o3d2e.(5n3a5m4e8),"  7i7s1 .t5r2u5e8.,  R-e2tu5r7.n0i0n4g4:)
ERR_INVALID_DATA
ERROR: ID 5 not found in cache of peer 1.
   at: (modules/multiplayer/scene_cache_interface.cpp:278)
ERROR: ID 6 not found in cpaocshiet iofo np:e e(r3 21..5
35 4 8 ,a t7:7 1(m.o5d2u5l8e,s /-2m5u7l.t0i0p4l4a)y
er/scene_cache_interface.cpp:278)
ERROR: ID 7 not found in cache of peer 1.
   at: (modules/multiplayer/scene_cache_interface.cpp:278)
ERROR: ID 8 not found in cache of peer 1.
   at: (modules/multiplayer/scene_cache_interface.cpp:278)
ERROR: ID 5 not found in cache of peer 1.
   at: (modules/multiplayer/scene_cache_interface.cpp:278)
ERROR: ID 6 not found in cache of peer 1.
   at: (modules/multiplayer/scene_cache_interface.cpp:278)
ERROR: ID 7 not found in cache of peer 1.
   atp:o s(itimoond:u l(e3s/2m.u5l3t5i4p8l,a y7e7r1/.s5c2e5n8e,_ c-a2c5h7e._0i0n4t4e)r
face.cpp:278)
ERROR: Condition "!pinfo" is true. Continuing.
   at: _remove_node_cache (modules/multiplayer/scene_cache_interface.cpp:57)

Steps to reproduce

I don't know the exact steps to reproduce.

Minimal reproduction project (MRP)

I was unable to create a small, simple reproduction of this bug, I don't know what is not working correctly, but I tried 10 different configurations.

kawht avatar Mar 21 '24 04:03 kawht

Could this have something to do with multi threading? It's two messages overlapping each other. With each message contributing approximately every other character.

cpaocshiet iofo np:e e(r3 21..5 is a combination of cache of peer 1. and position: (32.5

Deozaan avatar Mar 24 '24 08:03 Deozaan

Nice catch. I am not utilizing anything with threading specifically in my project yet. But I suppose it could be the fact that I am running two instances at once in a server / client config running on localhost. So it could be the overlap of the server and client together?

But I still am unable to trace down my issue with the vague "Condition "!pinfo" is true." error.

kawht avatar Mar 24 '24 23:03 kawht

I'm not sure if this will lead you to a solution, but I think the first message says ERROR: Condition "parent->has_node(name)" is true. Returning: That error might lead to a cascade of the other errors you see. Maybe there's a conflict where two nodes are attempting to have the same name?

As for why some of the messages come across as gibberish, it may be useful to look into what is causing the other message. position: (32.53548, 771.5258, -257.0044)

Do you have anything that is printing its position to the console repeatedly? Perhaps it's being run on a physics or other asynchronous thread.

Deozaan avatar Mar 25 '24 00:03 Deozaan