Placeholder-Software / Dissonance

Unity Voice Chat Asset
71 stars 5 forks source link

[Bug] HlapiServer: Received a packet with incorrect session ID log spew doesn't recover #59

Closed GabeBigBoxVR closed 6 years ago

GabeBigBoxVR commented 6 years ago

Context

HLAPI server repeatedly spews this logline on every frame when a client disconnects.

[Dissonance:Network] HlapiServer: Received a packet with incorrect session ID. Expected 372436445, got 1790607069. Resetting client.

Expected Behavior

Should not log spew and correctly reset the client.

Actual Behavior

Log spew on server

Steps to Reproduce

A client disconnects or from an HLAPI server

Your Environment

martindevans commented 6 years ago

Are you re-using Dissonance components between network sessions? If so I suspect I already caught this bug and have an open pull request to merge it into the dev branch - any extra details you can work out will help me confirm that though.

GabeBigBoxVR commented 6 years ago

Yes, sometimes we do reuse them between sessions. But in this case, it’s just a client that disconnected.

martindevans commented 6 years ago

When the client reconnects (after printing the message) do you see another message a bit further down the log showing:

Received handshake response from server, joined session '???????'

If so, is it the "expected" value referenced in the first message? When the server boots up you should see a message:

Constructing host. SessionId:??????

What's the session ID reference in that message?

GabeBigBoxVR commented 6 years ago

No, we don't ever see that message. The message below is logged every frame.

[Dissonance:Network] HlapiServer: Received a packet with incorrect session ID. Expected 372436445, got 1790607069. Resetting client.

martindevans commented 6 years ago

What is your log level in Dissonance? You can check in Window > Dissonance > Diagnostic Settings.

The message below is logged every frame.

Do the numbers change some/every when it is logged?

GabeBigBoxVR commented 6 years ago

Our log level is Info for Core, Recording, Network and Playback. No, the numbers do not change across any other frames.

Also, I searched and our client does log on the client at the start, but after the client disconnects the server starts logging repeatedly.

[Dissonance:Network] ConnectionNegotiator`1: Received handshake response from server, joined session '1287150250'

martindevans commented 6 years ago

I think that we've already caught this issue in testing and have a fix for the next version. We're putting together the final version right now to submit to the store tomorrow, it should be available within the week. If you contact me with your Order number I can send you a copy of that as soon as we submit it to the store so you don't have to wait.

martindevans commented 6 years ago

Dissonance 3.0.3 just went live on the asset store with the fixes I sent you by email merged in. I'll close this issue now, feel free to re-open it if this continues to be a problem.