playgameservices / cpp-android-basic-samples

Sample games using the Google Play Games C++ SDK
302 stars 133 forks source link

Error from mediasession.cc after accepted MP invite. #21

Open stolk opened 9 years ago

stolk commented 9 years ago

Occasionally after inviting a friend, a MP match starts and immediately aborts. In the logs I get a libjingle error from mediasession.cc:529 about cricket?

I/RoomServiceStateMachine(20236): Attempting to reconnect to: p_CJHH0rGIsLz-EhAC
I/libjingle(20236): worker_thread:0x7980fc18 initialized=1
I/libjingle(20236): Channel disabled
I/libjingle(20236): Changing data state, recv=0 send=0
I/libjingle(20236): Destroyed channel
I/libjingle(20236): Attempting to create a session, with data only.
I/libjingle(20236): CompleteInitiateCall_w:remoteJid=1vcyx4ttcd3151f9fvooegjs68@public.talk.google.com/games_andr240E7819
I/libjingle(20236): void gtalk::LibjingleClient::OnCallCreate(cricket::Call*): Connecting to OnAddSession
E/libjingle(20236): Error(mediasession.cc:529): cricket::SessionDescription* cricket::MediaSessionDescriptionFactory::CreateOffer(const cricket::MediaSessionOptions&, const cricket::SessionDescription*): Creating Data offer.

This is with gpg v 2.0 on ARM 32bit between two Samsung S5 devices.

stolk commented 7 years ago

This still happens with gpg v 2.3 and com.google.android.gms 11.0.1

From a HUAWEI JDN-W09 device running Android 6.0 and Play Games version 3.9.08

I/swaag   ( 6797): Succesfully showed room [ChoKCQj1jOXnmhsQAhABGAEg____________ARCcgPqJ1t6qtHA] (created by Mazaraxx): (null)
I/swaag   ( 6797): Participant named Mazaraxx(connected), id p_CJyA-onW3qq0cBAB, status joined
I/swaag   ( 6797): Participant named ChewyCombat35727(connected), id p_CPz8kqOx95WhZxAB, status joined
V/GamesNativeSDK( 6797): Received Activity Resume Event.
E/GamesNativeSDK( 6797): Sending reliable message
E/GamesNativeSDK( 6797): Sending reliable message SUCCEEDED
W/GamesServiceBroker( 1768): Client connected with SDK 8487000, Services 11055446, and Games 39080046
I/libjingle( 3678): IbbDataTask::ProcessStart() called:
I/libjingle( 3678): Got Xmpp data back: <ibb:data ibb:seq="1" ibb:sid="0" xmlns:ibb="http://jabber.org/protocol/ibb"/>
I/libjingle( 3678): static void gtalk::LibjingleJniHelper::DispatchIbbSendResult(jobject, const string&, const string&, bool): Dispatch ID:1
I/libjingle( 3678): IbbDataTask::ProcessStart() called:
W/libjingle( 3678): Warning(callregistry.cpp:27): void games_rtmp::CallRegistry::UnregisterCall(const string&, const string&): Attempting to erase non-existent session:3202538182
I/libjingle( 3678): worker_thread:0x00000055b0bc7f60 initialized=1
I/libjingle( 3678): Channel disabled
I/libjingle( 3678): Changing data state, recv=0 send=0
I/libjingle( 3678): Destroyed channel
I/swaag   ( 6797): The Connected Set Changed for room id ChoKCQj1jOXnmhsQAhABGAEg____________ARCcgPqJ1t6qtHA, status ACTI. Currently connected: 0

The earliest sign of trouble being: I/libjingle( 3678): Channel disabled

What is the reason for libjingle to disable the channel?

stolk commented 7 years ago

Comparing the logs of a working match versus a disconnected match, I see that the first sign of trouble is actually:

I/RoomServiceStateMachine( 8563): Attempting to reconnect to: p_CL2Ww9b4x7XqKxAB

Is it common for connections to get lost, after the room has been fully connected earlier? Is there any guidance on how to treat this situation? What triggers the reconnecting by RoomServiceStateMachine? Is the source code available for RoomServiceStateMachine?

Thanks.