Turo Eric Coffey Woods Nov 15, 2022

The New Gold Standard for iOS Releases: 99.99% Crash-Free

Article Summary

Turo's iOS team took their crash-free rate from 99% to 99.99% in just one year. Here's how a lean 5-engineer team achieved what most would consider impossible.

Eric Coffey Woods from Turo Engineering shares the journey of dramatically improving iOS app stability. The article breaks down their systematic approach to crash prevention, from code review practices to debugging mysterious Apple framework issues.

Key Takeaways

Critical Insight

Turo increased their iOS crash-free rate to 99.99% through rigorous code review, smart monitoring with phased releases, and deep debugging with Xcode's visual tools.

The article reveals how a seemingly Apple-caused crash with no Turo code in the stack trace turned out to be their fault after all (and how they found it).

About This Article

Problem

Turo's iOS team found their biggest crash was ERROR_CGDataProvider_BufferIsNotReadable in CoreGraphics. The stack trace had no Turo code, so it looked like an Apple framework issue.

Solution

Eric Coffey Woods and colleagues went to WWDC engineering hours. Apple's CoreGraphics team told them the real problem was memory corruption from leaks elsewhere. They used Xcode's Memory Graph tool to find and fix NSBlockOperation retain cycles.

Impact

After fixing the retain cycle by changing strong references to weak references, thousands of crashes went away. Turo pushed their crash-free rate past their 99.9% target.