Crash on iPhone 6 on iOS 12 with Realtime Database
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 38/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- csharp, ios, unity
- Domain
- databases, mobile-dev
Research direction
Start with the ReadSomeValueChange method and its ValueChanged subscription, then reproduce the report in the samples project on an iPhone 6 running iOS 12. Compare the behavior with later iPhones and verify that registering the Realtime Database listener no longer crashes and that the callback can run.
Written by the indexing model from the issue text.
Description
[REQUIRED] Please fill in the following fields:
- Unity editor version: 2021.3.32f1
- Firebase Unity SDK version: 11.6.0
- Source you installed the SDK: Unity package manager via tgz
- Problematic Firebase Component: Realtime database
- Other Firebase Components in use: None
- Additional SDKs you are using: None
- Platform you are using the Unity editor on: MacOS 14.0 with xCode version 15.0.1
- Platform you are targeting: iPhone 6 iOS 12.5.7
- Scripting Runtime: IL2CPP
[REQUIRED] Please describe the issue here:
When trying to register for a value changed in the realtime database, the app crashes on the iPhone 6. This only occurs on the iPhone 6 and not on later iPhones. When the app crashes, xcode outputs a cryptic message:
0x100aa4000: .long 0xfeedfacf ; unknown opcode
Steps to reproduce:
- Install firebase through the package manager
- Add GoogleService-Info to the project
- Add the script below (see following section)
- Build the project through xCode
- Notice the crash on iPhone 6.
- Notice that the crash does not occur on more 'modern' iPhones, which my collegues have
I was also able to reproduce this issue in the samples project.
I also tried downgrading the firebase SDK to 10.6.0 and the issue also occured here.
Relevant Code:
public void ReadSomeValueChange()
{
string dataBaseUrl = "https://<yourfirebaseurl>.firebasedatabase.app/";
Debug.Log("Before getting instance");
var dataBase = FirebaseDatabase.GetInstance(dataBaseUrl);
Debug.Log("Before getting reference");
var somePath = dataBase.GetReference("/test");
Debug.Log("Before registering to value changed");
somePath.ValueChanged += HandleValueChanged; // APP CRASHES HERE
}
private void HandleValueChanged(object sender, ValueChangedEventArgs args)
{
// app does not reach this line
Debug.Log("Value changed");
}
- Dominant language
- C#
- Stars
- 923
- Forks
- 456
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from firebase/quickstart-unity
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
firebase/quickstart-unity#1448 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
firebase/quickstart-unity#1432 · 1 comment ·
-
new
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
firebase/quickstart-unity#1411 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
firebase/quickstart-unity#1403 · 1 comment ·
-
Firebase or specific Android versions trigger app_clear_data on first_open, disrupting our funnel Opennew
Difficulty 4/5 3-5 days Newbie friendliness 25/100
firebase/quickstart-unity#1390 · 1 comment ·
All issues in firebase/quickstart-unity
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
t/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·