firebase / firebase/firebase-cpp-sdk

[Question] Assert in auth.cc line 119 when trying to create Auth

オープン
#1,680 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
needs-triage new type: question
主要言語
C++
スター
326
フォーク
137
平均マージ
3日 9時間
マージ済み PR(30日)
5

説明

### [REQUIRED] Please fill in the following fields:

* Pre-built SDK from the [website](https://firebase.google.com/download/cpp) or open-source from this repo: Pre-build SDK
* Firebase C++ SDK version: 12.1.0
* Main Firebase Components in concern: Auth (Auth, Database, etc.)
* Other Firebase Components in use: App,Firestore,Storage (Auth, Database, etc.)
* Platform you are using the C++ SDK on: Windows (Mac, Windows, or Linux)
* Platform you are targeting: iOS, Android (iOS, Android, and/or desktop)

### [REQUIRED] Please describe the question here:

I was not able to reproduce the issue on test-app where auth example works properly on desktop.

Issue occurs only on Desktop when using c++ wrapper on Windows (Android and iOS works fine)

I'm following general FirebaseApp creation:

`m_App = firebase::App::Create();`

later on when i try to get Auth by calling this code: (from the same thread)

```
firebase::App* app = FirebaseApp::Get();
if (!app)
return nullptr;

firebase::auth::Auth* auth = firebase::auth::Auth::GetAuth(app);
if (!auth)
return nullptr;

return auth;
```

I'm getting hard crash with assert from [auth.cc line 119](https://github.com/firebase/firebase-cpp-sdk/blob/main/auth/src/auth.cc#L119)

If I try to create auth immediately after creating app i will get a proper object but then calling eg.:

`firebase::Future result = auth->SignInAnonymously();`

Result in exact same assert.

Can you please assist what may be the cause? Is there some kind of releasing object under the hood?

![Image](https://github.com/user-attachments/assets/c3699405-f0d8-42bb-a642-bcdffe92be04)
![Image](https://github.com/user-attachments/assets/f9ba7440-19e1-43ff-a057-664a3a626df2)
![Image](https://github.com/user-attachments/assets/092a1908-d490-48ee-bce4-d3ff94608250)

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

auth/src/auth.cc の119行目から開始し、報告された Windows デスクトップフローを test-app にある動作する auth の例と比較します。同じスレッドで App::Create、Auth::GetAuth、SignInAnonymously を使用してシーケンスを再現します。Windows デスクトップの場合の assertion の原因を特定し、検証済みの解決策を文書化または実装できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
authentication
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。