In our latest two releases we've starte getting sporadic crash reports that I'm having a tough time understanding. Unfortunatly, we haven't been able to reproduce the crash in debug mode with a local build, so we have to do our best to parse the crash report and diagnose from there.
At this point in the application, it queries Game Center for matches, sorts them based on latest activity and match status, loads the match data for each match, and then populates a UITableView using custom table view cells.
The code complies fine, runs in debug mode on devices and most of the time works in the app that's released in production (only affecting ~10% of users). We've seen it on both iPads and iPhones. In trying to manually reproduce it on my phone, I have been able to get the crash to happen sometimes by pulling down on the table and initiating the refreshControl, other times, just navigating away from the MatchListViewController and returning. Sometimes it seems to happen immediately on launch.
My current gut feelng is that it has something to do with the asynchronous blocks inside asynchoronous blocks. Maybe something is no longer in memory or has changed by the time on of the completion handlers are called.
Is anyone able to see anything in the below crash log to help point me in the right direction?
The symbolicated crash report looks like this: