Skip to content

GetValueAsync() in Realtime Database often enters infinite wait #1371

Open
@king24371

Description

@king24371

[REQUIRED] Please fill in the following fields:

  • Unity editor version: 2021.3.29
  • Firebase Unity SDK version: 10.0.1
  • Source you installed the SDK: Unity Package Manager
  • Problematic Firebase Component: RealtimeDatabase
  • Other Firebase Components in use: Auth
  • Additional SDKs you are using: Facebook, UnityAds, Google playgames services
  • Platform you are using the Unity editor on: Windows
  • Platform you are targeting: Android
  • Scripting Runtime: Mono and IL2CPP

[REQUIRED] Please describe the issue here:

In yesterday, reading and writing data was working fine.
However, this morning when I opened the editor to test the game, I was often unable to read the data in the database. I tried different login methods, including Email and Facebook. Among them, FB could not receive the data every time I executed it, while email is some times good and some times bad, and even if it receive data, it is also from the past.
After searching with different prints, I found that the problem lies here: GetUserReference().Child("logs").GetValueAsync();
I used a coroutine to execute this function. I found that when it reaches this line, it often waits indefinitely and then there is no result.

Relevant Code:

IEnumerator LoadID()
{
print("Load ID");
var task = GetUserReference().Child("logs").GetValueAsync();
print("catch the data from base");
yield return new WaitUntil(() => task.IsCompleted);
print("wait for end of coroutine");

    if (task.IsFaulted || task.IsCanceled)
    {
        print(task.Exception);
        yield break;
    }

    DataSnapshot snapshot = task.Result;
    print("retuen result: " + snapshot);
    if (snapshot.Value != null)
    {
        print("load player data");
        LoadJson(snapshot);
        StartCoroutine(LoadCats());
        StartCoroutine(LoadBuilds());
    }
    else
    {
        //SaveID();
        print("no data");
        SaveJson_F();
        //authManager.validateSignIn(true);
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    newNew issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions