Search Unity

Question [Google Sheet Extension] Tls Handshake error?

Discussion in 'Localization Tools' started by Inventis_kr, Mar 9, 2023.

?

google sheets extenstion - tls handshake error?

  1. ?

    0 vote(s)
    0.0%
  2. ??

    0 vote(s)
    0.0%
  1. Inventis_kr

    Inventis_kr

    Joined:
    Oct 24, 2019
    Posts:
    5
    Hi, I have a little problem using Localization with google sheet extension, and I have no idea how to fix it.

    First,
    upload_2023-3-9_14-10-12.png
    Thisi is my LocalizeText Script.

    When I open the unity editor and click this "Pull All Google Sheets Extensions", everything works fine.
    upload_2023-3-9_14-11-58.png
    upload_2023-3-9_14-12-28.png

    However, after I play the unity editor (of course nothing changes) and click that same pull button again,
    I got the error message like this and the pull method doesn't work.
    upload_2023-3-9_14-15-30.png

    TlsException: Handshake failed - error code: UNITYTLS_INTERNAL_ERROR, verify result: 4294957312
    Mono.Unity.Debug.CheckAndThrow (Mono.Unity.UnityTls+unitytls_errorstate errorState, Mono.Unity.UnityTls+unitytls_x509verify_result verifyResult, System.String context, Mono.Security.Interface.AlertDescription defaultAlert) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    Mono.Unity.UnityTlsContext.ProcessHandshake () (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status, System.Boolean renegotiate) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    (wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus,bool)
    Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    Rethrow as AuthenticationException: Authentication failed, see inner exception.
    Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication (System.Boolean runSynchronously, Mono.Net.Security.MonoSslAuthenticationOptions options, System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    Mono.Net.Security.MonoTlsStream.CreateStream (System.Net.WebConnectionTunnel tunnel, System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Net.WebConnection.CreateStream (System.Net.WebOperation operation, System.Boolean reused, System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    Rethrow as WebException: Error: TrustFailure (Authentication failed, see inner exception.)
    System.Net.WebConnection.CreateStream (System.Net.WebOperation operation, System.Boolean reused, System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Net.WebConnection.InitConnection (System.Net.WebOperation operation, System.Threading.CancellationToken cancellationToken) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Net.WebOperation.Run () (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Net.WebCompletionSource`1[T].WaitForCompletion () (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Net.HttpWebRequest.RunWithTimeoutWorker[T] (System.Threading.Tasks.Task`1[TResult] workerTask, System.Int32 timeout, System.Action abort, System.Func`1[TResult] aborted, System.Threading.CancellationTokenSource cts) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) (at <b33672c2670a41d3b6cd2c30c98a2bed>:0)
    System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func`2[T,TResult] endFunction, System.Action`1[T] endAction, System.Threading.Tasks.Task`1[TResult] promise, System.Boolean requiresSynchronization) (at <d6232873609549b8a045fa15811a5bd3>:0)
    --- End of stack trace from previous location where exception was thrown ---
    System.Net.Http.MonoWebRequestHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) (at <d2e0c155f51449e5a9de344eb45213e1>:0)
    Rethrow as HttpRequestException: An error occurred while sending the request
    System.Net.Http.MonoWebRequestHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) (at <d2e0c155f51449e5a9de344eb45213e1>:0)
    Google.Apis.Http.ConfigurableMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) (at <5256f01b3ed84323a7133a4507b49617>:0)
    System.Net.Http.HttpClient.SendAsyncWorker (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken) (at <d2e0c155f51449e5a9de344eb45213e1>:0)
    Google.Apis.Requests.ClientServiceRequest`1[TResponse].ExecuteUnparsedAsync (System.Threading.CancellationToken cancellationToken) (at <5256f01b3ed84323a7133a4507b49617>:0)
    Google.Apis.Requests.ClientServiceRequest`1[TResponse].Execute () (at <5256f01b3ed84323a7133a4507b49617>:0)
    UnityEditor.Localization.Plugins.Google.GoogleSheets.ExecuteRequest[TResponse,TClientServiceRequest] (TClientServiceRequest req) (at Library/PackageCache/com.unity.localization@1.4.3/Editor/Plugins/Google/GoogleSheets.cs:835)
    UnityEditor.Localization.Plugins.Google.GoogleSheets.PullIntoStringTableCollection (System.Int32 sheetId, UnityEditor.Localization.StringTableCollection collection, System.Collections.Generic.IList`1[T] columnMapping, System.Boolean removeMissingEntries, UnityEditor.Localization.Reporting.ITaskReporter reporter, System.Boolean createUndo) (at Library/PackageCache/com.unity.localization@1.4.3/Editor/Plugins/Google/GoogleSheets.cs:517)
    LocalizeText.PullExtension (UnityEditor.Localization.Plugins.Google.GoogleSheetsExtension googleExtension) (at Assets/Dir_JH/Scripts/LocalizeText.cs:37)
    LocalizeText.PullAllExtensions () (at Assets/Dir_JH/Scripts/LocalizeText.cs:55)


    And again, If I reopen the unity editor or make revision of other script and have a "reload script assemblies" process, it works fine again.

    It works anyway but every time I play unity editor, it is very annoying that I must have the "Reload Script Assemblies" process to pull the new google sheets.

    How Can I fix this?

    Thank you.
     
  2. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,293
    I have not seen this error before. Could you please file a bug report? https://unity.com/releases/editor/qa/bug-reporting
     
  3. imphenzia

    imphenzia

    Joined:
    Jun 28, 2011
    Posts:
    413
    I got this too after a project upgrade from 2020.3.32 LTS to 2020.3.48 LTS (to address another Localization error).

    After a restart of the Unity Editor it temporarily worked until I played the game. Using Localization 1.4.3.
    (TlsException: Handshake failed - error code: UNITYTLS_INTERNAL_ERROR, verify result: 4294957312)
     
  4. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,293
    Could you please file a bug report? We don't currently have a reproduction.
     
  5. imphenzia

    imphenzia

    Joined:
    Jun 28, 2011
    Posts:
    413
    I have filed a bug report but I am not able to attach the project at this time. I included steps taken for the problem to happen and included the stack trace of the errors.
     
    karl_jones likes this.
  6. karl_jones

    karl_jones

    Unity Technologies

    Joined:
    May 5, 2015
    Posts:
    8,293
    Do you know the bug number so I can take a look?
     
  7. imphenzia

    imphenzia

    Joined:
    Jun 28, 2011
    Posts:
    413
    Certainly: IN-41856 - Localization Google Sheets Pull / Push TlsException Handshake failed

    Thanks for looking into it - it seems to be a consistent issue in the project now so I have to restart every time I need to do another pull. Let me know if it is crucial to submit the project for the report.
     
    karl_jones likes this.