Facebook promises to have slashed iOS app crashes by half

Facebook promises to have slashed iOS app crashes by half

Summary: Facebook's iOS bug problem was actually discovered several months ago, said to be stemming from Apple’s Core Data system.


Given that mobile is Facebook's cash cow, it makes sense that the social network's engineering teams are likely very dedicated to ensuring the apps run as smooth as possible.

Facebook's engineering team touted on Tuesday that it recently solved a long-term mobile debugging problem, slashing the crash rate on the iOS app by more than 50 percent.

The problem was actually discovered several months ago, having to do with Apple’s Core Data framework for automating common tasks associated with object life-cycle and object graph management.

In a chicken-and-egg scenario, Slobodan Predolac and Nicolas Spiegelberg, members of Facebook's engineering team based in New York, admitted in a blog post that it took so long to fix the problem primarily because of how fast the world's largest social network continues to grow — especially on mobile.

The ability to work at scale is one of the most exciting parts of engineering at Facebook. However, certain fundamental programming challenges inevitably become more difficult with scale. Debugging, for example, can prove difficult even if you can reliably reproduce the problem – and this difficulty increases when debugging a highly visible but nondeterministic [sic] issue in a rapidly changing codebase.

Facebook's monthly active user count stood at approximately 1.32 billion as of June 30, but mobile jumped 31 percent year-over-year to 1.07 billion alone.

"It turns out that abandoning manual code analysis was a good strategy," the engineers concluded.

Predolac and Spiegelberg outlined the investigation into a myriad of crash reports, leading to "different theories about race-condition situations, architectural changes, and even false fundamental premises."

In the end, the engineering team traced back the problem to the networking stack, resolving the issue in partnership with the networking team and deploying Fishhook, an open source method for rebinding system APIs.

"It turns out that abandoning manual code analysis was a good strategy," the engineers concluded. "The bug surfaced with existing code that was exercised more as we ramped up default secure connections for all our users."

Topics: Mobility, Data Management, iOS, Social Enterprise, Web development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • I don't use Core Data for anything

    I don't like database magic; since Core Data just abstracts SQL lite, I just use the real thing.

    Means a little pure C programming but that never hurt anyone.... At least you have more direct control with data injection and retrieval using pure SQL commands...

    Either that or plists for small data chunks.
  • Facebook less crash-y?

    That's nice and all, but my newsfeed is a bunch of trash I don't want to see and maybe 4 or 5 stories from actual "friends".
  • So can they fix the Android version now?


    If the Facebook app on Android was a car I'd be using a horse as transport.
    Lord Minty