question

jelling avatar image
jelling asked

Error Code 61 message for SendDataMessage

We are sending approximately 1kb of gzipped data 60 x second to a remote party participant. This works for about a minute and then we get this error on the sending side:

```
Party error: The error code is not valid or is an internal error. Please contact Microsoft for further diagnosis.
UnityEngine.Debug:Log (object)
Vhang.Party.PartyController:onPartyError (object,PlayFab.Party.PlayFabMultiplayerManagerErrorArgs) (at Assets/Vhang/Scripts/Party/Controller/PartyController.cs:145)
PlayFab.Party.PlayFabMultiplayerManager:_LogError (uint,PlayFab.Party.PlayFabMultiplayerManagerErrorType) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:588)
PlayFab.Party.PlayFabMultiplayerManager:_LogError (uint) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:569)
PlayFab.Party.PlayFabMultiplayerManager:PartySucceeded (uint) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:1844)
PlayFab.Party.PlayFabMultiplayerManager:_SendDataMessage (byte[],System.Collections.Generic.IEnumerable`1<PlayFab.Party.PlayFabPlayer>,PlayFab.Party.DeliveryOption) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:1420)
PlayFab.Party.PlayFabMultiplayerManager:SendDataMessage (byte[],System.Collections.Generic.IEnumerable`1<PlayFab.Party.PlayFabPlayer>,PlayFab.Party.DeliveryOption) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:506)
Vhang.Party.PartyManager:SendDataMessage (byte[],System.Collections.Generic.IEnumerable`1<PlayFab.Party.PlayFabPlayer>,PlayFab.Party.DeliveryOption) (at Assets/Vhang/Scripts/Party/PartyManager/PartyManager.cs:106)
Vhang.Party.PartyController:sendMocapBundle (uOSC.Bundle) (at Assets/Vhang/Scripts/Party/Controller/PartyController.cs:205)
Vhang.Party.VMCEmitter:sendData () (at Assets/Vhang/Scripts/Motion/VMC/VMCEmitter.cs:90)
Vhang.Party.VMCEmitter/<WaitUntilEndOfFrame>d__19:MoveNext () (at Assets/Vhang/Scripts/Motion/VMC/VMCEmitter.cs:78)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
```				

We then tried decreasing the send rate by 50%; it ran for roughly twice as long before giving this error:

the operation was called with an invalid handle
UnityEngine.Debug:LogError (object)
PlayFab.Party.PlayFabMultiplayerManager:_LogError (string) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:563)
PlayFab.Party.PlayFabMultiplayerManager:_LogError (uint,PlayFab.Party.PlayFabMultiplayerManagerErrorType) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:592)
PlayFab.Party.PlayFabMultiplayerManager:_LogError (uint) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:569)
PlayFab.Party.PlayFabMultiplayerManager:PartySucceeded (uint) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:1844)
PlayFab.Party.PlayFabMultiplayerManager:_SendDataMessage (byte[],System.Collections.Generic.IEnumerable`1<PlayFab.Party.PlayFabPlayer>,PlayFab.Party.DeliveryOption) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:1420)
PlayFab.Party.PlayFabMultiplayerManager:SendDataMessage (byte[],System.Collections.Generic.IEnumerable`1<PlayFab.Party.PlayFabPlayer>,PlayFab.Party.DeliveryOption) (at Assets/3rd Party/PlayFabPartySDK/Source/Scripts/PartyUnitySDK/PlayFabMultiplayerManager.cs:506)
Vhang.Party.PartyManager:SendDataMessage (byte[],System.Collections.Generic.IEnumerable`1<PlayFab.Party.PlayFabPlayer>,PlayFab.Party.DeliveryOption) (at Assets/Vhang/Scripts/Party/PartyManager/PartyManager.cs:106)
Vhang.Party.PartyController:sendMocapBundle (uOSC.Bundle) (at Assets/Vhang/Scripts/Party/Controller/PartyController.cs:205)
Vhang.Party.VMCEmitter:sendData () (at Assets/Vhang/Scripts/Motion/VMC/VMCEmitter.cs:92)
Vhang.Party.VMCEmitter/<afterFrame>d__19:MoveNext () (at Assets/Vhang/Scripts/Motion/VMC/VMCEmitter.cs:80)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)


We got the above error also when sending messages by pointer.


Platform: Windows 10 and 11 (same result)

SDK: Unity PlayFab Party SDK

cc: @Rob Caplan (thanks in advance!)

unity3d
7 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Gosen Gao avatar image Gosen Gao commented ·

Could you please provide a simple example which can reproduce this issue? Based on the error message, we cannot locate the cause.

0 Likes 0 ·
jelling avatar image jelling Gosen Gao commented ·

It's not easy to provide a simple example as it requires setting up a party with two real clients. Does PlayFab have a test harness or other way of simulating a party with one client?

Alternately, can we make logging more verbose somehow? Or is there server side logging you can see for our title (F5203)?

0 Likes 0 ·
jelling avatar image jelling Gosen Gao commented ·

I setup a simplified example but the error did not always happen so either it's dependent on the overall load of the program and/or the network transport.


To help narrow things down, I tapped the Party SDK statistics functions directly and here is what is returned when the error happens:

0 Likes 0 ·
jelling avatar image jelling Gosen Gao commented ·

Example 1:

```

Network Stats PARTY_NETWORK_STATISTIC_AVERAGE_RELAY_SERVER_ROUND_TRIP_LATENCY_IN_MILLISECONDS = 101 PARTY_NETWORK_STATISTIC_SENT_PROTOCOL_PACKETS = 19965 PARTY_NETWORK_STATISTIC_SENT_PROTOCOL_BYTES = 26110196 PARTY_NETWORK_STATISTIC_RETRIED_PROTOCOL_PACKETS = 4126 PARTY_NETWORK_STATISTIC_RETRIED_PROTOCOL_BYTES = 5397587 PARTY_NETWORK_STATISTIC_DROPPED_PROTOCOL_PACKETS = 4126 PARTY_NETWORK_STATISTIC_RECEIVED_PROTOCOL_PACKETS = 20 PARTY_NETWORK_STATISTIC_RECEIVED_PROTOCOL_BYTES = 1154 PARTY_NETWORK_STATISTIC_CURRENTLY_QUEUED_SEND_MESSAGES = 3500 PARTY_NETWORK_STATISTIC_CURRENTLY_QUEUED_SEND_MESSAGE_BYTES = 8950113 PARTY_NETWORK_STATISTIC_CURRENTLY_ACTIVE_SEND_MESSAGES = 0 PARTY_NETWORK_STATISTIC_CURRENTLY_ACTIVE_SEND_MESSAGE_BYTES = 0 PARTY_NETWORK_STATISTIC_TIMED_OUT_SEND_MESSAGES = 0 PARTY_NETWORK_STATISTIC_TIMED_OUT_SEND_MESSAGE_BYTES = 0 PARTY_NETWORK_STATISTIC_CANCELED_SEND_MESSAGES = 0 PARTY_NETWORK_STATISTIC_CANCELED_SEND_MESSAGE_BYTES = 0

```

0 Likes 0 ·
Show more comments
Gosen Gao avatar image Gosen Gao commented ·

I will keep researching. Just wanted to confirm that does "We are sending approximately 1kb of gzipped data 60 x second to a remote party participant" mean you are sending 60 data per second? If so, may I know why such a high frequency is needed?

As Configuring transport behavior mentions, the delivery option may affect actual behavior, it will be better if I can know the parameters of SendDataMessage().

0 Likes 0 ·

0 Answers

·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.