ChilliConnect throwing exception on error


#1

Hi,

I’ve noticed that recently in my project if I try to create a few matches in a row ChilliConnect has an error. On iOS the exception is logged to console but in Unity it fails silently. As a result of this exception no callback (neither success or error) gets called and my app gets stuck as I’m waiting for chilliconnect to respond.

Here’s the error log in console:

Uploading Crash Report

AssertionException: Invalid HTTP response code for error code.

at SdkCore.ReleaseAssert.IsTrue (System.Boolean condition, System.String message) [0x00000] in <00000000000000000000000000000000>:0

at ChilliConnect.CreateMatchError.GetErrorCode (SdkCore.ServerResponse serverResponse) [0x00000] in <00000000000000000000000000000000>:0

at ChilliConnect.CreateMatchError…ctor (SdkCore.ServerResponse serverResponse) [0x00000] in <00000000000000000000000000000000>:0

at ChilliConnect.AsyncMultiplayer.NotifyCreateMatchError (SdkCore.ServerResponse serverResponse, ChilliConnect.CreateMatchRequest request, System.Action`2[T1,T2] errorCallback) [0x00000] in <00000000000000000000000000000000>:0

at System.Action`2[T1,T2].Invoke (T1 arg1, T2 arg2) [0x00000] in <00000000000000000000000000000000>:0

at System.Action`2[T1,T2].Invoke (T1 arg1, T2 arg2) [0x00000] in <00000000000000000000000000000000>:0

at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:0

at System.Action.Invoke () [0x00000] in <00000000000000000000000000000000>:0

at System.Threading.WaitCallback.Invoke (System.Object state) [0x00000] in <00000000000000000000000000000000>:0

at System.Threading.ContextCallback.Invoke (System.Object state) [0x00000] in <00000000000000000000000000000000>:0

at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0

at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00000] in <00000000000000000000000000000000>:0

UnityEngine.UnhandledExceptionHandler:PrintException(String, Exception)

UnityEngine.UnhandledExceptionHandler:HandleUnhandledException(Object, UnhandledExceptionEventArgs)

System.UnhandledExceptionEventHandler:Invoke(Object, UnhandledExceptionEventArgs)

Screenshot of the error before the exception in Unity.

In file CreateMatchError.cs
private static Error GetErrorCode(ServerResponse serverResponse)
line 219

The error from the server is 10003 (RateLimitReached) But the HTTP error code in the response is 403 (AccountRestriction) This fires an AssertRelease as the error codes don’t match.

I think you need a new approach here as this results in no response from a call to chilliconnect which results in the app not knowing if chilli is still working or not and thus an endless loading popup.


#2

What is the limit for creating matches? I only created about 6. If I want to challenge a bunch of friends this seems reasonable. I’d expect a limit of about 50 would be more realistic.