firefox-ios: Firefox loads for a long time when attempting to sync, before crashing
Logs
You can help us by sending us either your crash logs or Firefox logs. Instructions on how to do this here. Archive.zip
Zipped up because GitHub doesn’t allow .ips
files
Steps to reproduce
- Go into synced tabs page
- Pull down to refresh
- Firefox will display the loading spinner on the top (see below). This loading spinner will keep spinning. During this time, Firefox becomes unresponsive, and you cannot switch to anything else (such as tapping on “Tabs” or “Private” next to “Synced”) or close out of the dialog entirely with the “Done” button. After about a minute or two of this going on, the actual behavior listed below occurs.
Expected behavior
Syncs tabs and doesn’t get unresponsive
Actual behavior
Firefox crashes and returns the user to the springboard
Device & build information
- Device: iPad Pro 12.9 5th-gen
- Build version: Firefox 112.2 (30158)
Notes
This issue does not occur on my iPhone for some reason (14 Pro Max, same build version).
I did encounter some weird behavior from Firefox on my iPhone in the past, so I reinstalled it and it went away. I’m guessing this crash may have something to do with the device not being synced for quite some time. Is there anything in the sync process that could choke on devices that have “drifted” away from the sync data on the Firefox account?
┆Issue is synchronized with this Jira Task
About this issue
- Original URL
- State: open
- Created a year ago
- Reactions: 2
- Comments: 16 (3 by maintainers)
Hmm those might be related and we should look into them, given that this hang and crash is only reproducible in the one surface (the remote tab menu) is a hint that it’s possible that the surface is doing something with the main thread, when it’s supposed to use a background thread there’s some evidence in https://github.com/mozilla-mobile/firefox-ios/blob/9c85f82cac29794f3517af8418a94a13fea32f7d/Client/Frontend/Browser/Tabs/RemoteTabs/RemoteTabsPanel.swift#L257
in 116.0 we changed the low-level implementation of the sync manager and the new one should always make sure not to do any work on the main thread
@ericswpark thank you so much for the details! 116.0 is released and rolling out, once you get the chance to upgrade it would be fantastic if you could verify if the hang/crash is fixed or is still there
@tarikeshaq would you mind taking a look at the logs and cpu resource files here? This seems to relate to the rust layer 🙏