Skimm through Crash Reports
The other day someone filed a crash report for Mastodon for iOS on Github — thanks a bunch! Although I haven't fixed that yet, I learned that you can skimm through different stack traces for one crash using the Xcode Organizer.
Bugs are an annoying yet unavoidable by-product of software development. Some of them are easy to find, others are a real pain in the ass to either reproduce or fix, sometimes both. There are plenty of third-party-tools to make life easier, but usually I go for the built-in stuff and rely on users sharing their crashes volunterily. Thanks to everyone who is sharing their data.
On my end, these report show up in the Xcode Organizer, just a keyboard shortcut away with plenty of additional information. I see a list of crashes and how many devices are affected. I can filter them, I see the stack trace related to the crash and some statistics and I can open the crash in the Xcode project. Typically, the Organizer looks similar to this:
As you can see there have been some crashes in the 2024.5
-release within the last two weeks with a small number of devices affected. In reality, those crashes do happen to way more users (and devices, of course!), but not everyone is sharing their crashes — and that's perfectly fine! In this example you see the stack trace of a crash that happens if a user taps on their own profile too quickly. We are aware of both that specific bug and the other crashes and we are working on fixes.
Back to topic: See those little numbers and arrows at the bottom of that window?
At least I never noticed them and so I neither cared about nor pressed them. Until a few days ago. This is when I learned that there can be more than one stack trace for a crash. 🤯 Oh, and by the way: These stack traces can differ 🤯🤯🤯 . And when you press on those arrows, you can skimm through all those sent by users. You even can press on the number to navigate to a specific one, as the first may be different from the fifth:
Going through those different stack traces helped me to identify the (probable) cause of another crash a user reported. Although we've already been aware of that bug, we found another place in the app that leads to that crash.
May this knowledge help you, too!