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 IMG!UNITO-UNDERSCORE!0390
  • 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. IMG!UNITO-UNDERSCORE!0391

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)

Most upvoted comments

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 🙏