Setting all NetworkObjects to invisible causes BufferOverflow error
See original GitHub issueDescribe the bug
When returning false
for all CheckObjectVisibility
checks on all NetworkObjects a OverflowException: Could not deserialize SceneObject: Out of buffer space.
error occurs.
To Reproduce Steps to reproduce the behavior:
- Clone https://github.com/Twin-Drums/MLAPI.Testing.Public
- Switch to the branch
buffer-overflow-report
(the branch contains a clean new Netcode 1.0.0 project - and is not upgraded from a MLAPI project) - Open MLAPI.Testing.Public and MLAPI.Testing.Public.Hardcopy
- Open the scene
Server
in one andClient
in the other project - Press play in the server scene, wait until it started and then press play in the client scene
- Check the client console for
Out of buffer space.
error
Actual outcome
Client throws a OverflowException: Could not deserialize SceneObject: Out of buffer space.
error (see screenshot below).
Expected outcome No error should appear only because all NetworkObjects are invisible.
Screenshots
Environment:
- OS: Windows 10
- Unity Version: 2020.3.22f1
- Netcode Version: 1.0.0-pre.3
Additional context
Changing the return value to true
in NetworkVisibilityObject
in line 30: bool HandleCheckObjectVisibility(ulong clientId) => false;
will make the error disappear (and also spawn the objects on the client).
Issue Analytics
- State:
- Created 2 years ago
- Comments:9 (5 by maintainers)
Top Results From Across the Web
addressSanitizer: heap-buffer-overflow on address
I am trying to write a function to open a file, read a BUFFER_SIZE , store the content in an array, then track...
Read more >Possible Solution: “Outgoing reliable buffer overflow”
TLDR; Ensure both/all parties have the same Network Quality ( Settings > Gameplay > Network Quality), preferably Ultra, and restart PC ...
Read more >Network problem, buffer overflow (in 5.1.3)
We now tend to think that the problem is caused on (our) server side - the packet buffer gets flooded, probably due to...
Read more >Alpha channel set to below 0.1 results in invisible object
I set alpha value between 0<=Alpha<0.1 in Shader Editor, the object is invisible from texture Paint mode, as seen below,.
Read more >What is a Buffer Overflow? How Do These Types of Attacks ...
A buffer overflow occurs when a program or process attempts to write more data to a fixed-length block of memory, or buffer, than...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
The fix for this will be in pre6 which we plan to release very soon.
I don’t think this has been backported from develop to the 1.0.0-pre.5 release. So it will be in a future release.