I regularly see folks report that their app crashed with a crash report containing a Last Exception Backtrace
section that looks something like this:
Last Exception Backtrace: 0 CoreFoundation … __exceptionPreprocess + 164 … 1 libobjc.A.dylib … objc_exception_throw + 60 … 2 MyApp … RCTFatal + 668 (RCTAssert.m:147) 3 MyApp … -[RCTExceptionsManager reportFatal:stack:exceptionId:extraDataAsJSON:] + 532 (RCTExceptionsManager.mm:77) 4 MyApp … -[RCTExceptionsManager reportException:] + 1476 (RCTExceptionsManager.mm:147) 5 CoreFoundation … __invoking___ + 148 (:-1) 6 CoreFoundation … -[NSInvocation invoke] + 428 … 7 CoreFoundation … -[NSInvocation invokeWithTarget:] + 64 … 8 AppName … -[RCTModuleMethod invokeWithBridge:module:arguments:] + 460 (RCTModuleMethod.mm:584) 9 MyApp … facebook::react::invokeInner(RCTBridge*, RCTModuleData*, unsigned int, folly::dynamic const&, int, (anonymous namespace)::SchedulingContext) + 536 (RCTNativeModule.mm:183) 10 MyApp … operator() + 68 (RCTNativeModule.mm:104) 11 MyApp … invocation function for block in facebook::react::RCTNativeModule::invoke(unsigned int, folly::dynamic&&, int) + 112 (RCTNativeModule.mm:95) 12 libdispatch.dylib … _dispatch_call_block_and_release + 32 …
The presence of a Last Exception Backtrace
section indicates that their app is crashing due to an unhandled language exception. In such cases you can look at the backtrace to see where the exception came from.
In this case frames 4 through 2 suggest that this problem is caused by an error coming out of a third-party runtime. Specifically, the symbol in frame 2, RCTFatal
, suggests that the runtime hit a fatal error and the symbol in frame 4, -[RCTExceptionsManager reportException:]
, suggests that the error was caused by an exception raise within the code running in that runtime.
I can’t help you with this problem because the organisation I work for, Developer Technical Support (DTS), doesn’t support third-party tools or libraries. If you encounter a crash like this, I recommend that you consult the support resources for the third-party runtime you’re using.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"