[Question] heap-use-after-free after deleting database::DatabaseReference
还没有人认领这个 Issue。
评估
调研方向
首先,查看 issue 中描述的 DatabaseReference 生命周期和 listener 移除行为,包括 ValueListener、ChildListener 以及用于 get 操作的 onFinish 回调。确定何时可以安全地销毁一个引用而不会发生 heap-use-after-free,并记录或复现 listener 移除的预期行为。
由索引模型根据 Issue 内容生成。
描述
[REQUIRED] Please fill in the following fields:
- Pre-built SDK from the website or open-source from this repo: open source from this repo
- Firebase C++ SDK version: all
- Main Firebase Components in concern: Database
- Other Firebase Components in use: -
- Platform you are using the C++ SDK on: Linux
- Platform you are targeting: iOS, Android, Destkop
[REQUIRED] Please describe the question here:
I have lot of issue with "heap-use-after-free". To what I understand, the issue is linked to the fact reference is removed while beeing still in use in the SDK. When I made some "get" I just wait for the onFinish callback to be sure that firebase SDK don't need the reference anymore. But when using with Listener (ValueListener or ChildListener) we have no callback saying that the remove listener is finished. Then it's not clear when the reference can be safely destroyed. I tried lot of different approach but I always ends in use after free issue. Where can I find more informations about when a reference can be destroyed without risking a crash ?
- 主要语言
- C++
- 星标
- 326
- 派生
- 138
- 平均合并
- 2 天 16 小时
- 30 天内合并 PR
- 3
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
firebase/firebase-cpp-sdk 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
firebase/firebase-cpp-sdk#1905 · 2 条评论 ·
-
api: firestore
难度 5/5 一周以上 新手友好度 35/100
firebase/firebase-cpp-sdk#1920 · 3 条评论 ·
-
难度 3/5 1-2 天 新手友好度 70/100
firebase/firebase-cpp-sdk#1904 · 1 条评论 ·
-
new type: question
难度 4/5 3-5 天 新手友好度 45/100
firebase/firebase-cpp-sdk#1892 · 1 条评论 ·
-
nightly-testing
难度 4/5 3-5 天 新手友好度 25/100
firebase/firebase-cpp-sdk#1859 ·
查看 firebase/firebase-cpp-sdk 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 86/100
ArthurSonzogni/FTXUI#1363 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
-
难度 1/5 1 小时以内 新手友好度 90/100
ginkgo-project/ginkgo#2108 ·
-
bug build
难度 1/5 1 小时以内 新手友好度 91/100
facebookincubator/velox#19194 ·
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW 未关闭fuzz
难度 2/5 1-3 小时 新手友好度 82/100
ClickHouse/ClickHouse#122114 ·