Resolving 0xdead10cc errors in Mixpanel
How Electric Sidecar resolved its most common crasher by migrating to async/await
Electric Sidecar’s most common crasher in 2023 was an -[_EXRunningExtension resume]
crash affecting the app’s widgets, both on the iPhone and on the Apple Watch.
Digging in to these crashes by right clicking, showing in Finder, showing the package contents of the xccrashpoint, and opening any of the .crash files reveals that the crashes commonly have the following exception:
Exception Type: EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: RUNNINGBOARD 0xdead10cc
From Apple’s documentation:
0xdead10cc
(3735883980
) — pronounced “dead lock”The operating system terminated the app because it held on to a file lock or SQLite database lock during suspension.
Looking at the stack traces identified that Mixpanel’s Swift library was the primary culprit for all of these crashes, so I applied a fix, per Apple’s recommendation, to use beginActivity(options:reason:)
to request more time for background task processing.
But the crashes still kept rolling in.
Keep reading with a 7-day free trial
Subscribe to Nuts and bolts: the making of Electric Sidecar to keep reading this post and get 7 days of free access to the full post archives.