Initially I am thinking this is due to an App PR, as we have been able to successfully build and test HybridApp, and the recent merged PRs seem pretty unrelated.
Tom is working through testflight versions and I am working through recent App merges to isolate potential causes.
Crashed: com.facebook.react.JavaScript
0x11a1904 facebook::yoga::SmallValueBuffer<4ul>::get32(unsigned short) const + 546 (vector:546)
0x11a185c facebook::yoga::StyleValuePool::getLength(facebook::yoga::StyleValueHandle) const + 29 (bit_cast.h:29)
0x120c7f4 facebook::react::YogaStylableProps::YogaStylableProps(facebook::react::PropsParserContext const&, facebook::react::YogaStylableProps const&, facebook::react::RawProps const&) + 157 (YogaStylableProps.cpp:157)
0x119a714 facebook::react::BaseViewProps::BaseViewProps(facebook::react::PropsParserContext const&, facebook::react::BaseViewProps const&, facebook::react::RawProps const&) + 267 (BaseViewProps.cpp:267)
0xb4d084 expo::ExpoViewProps::ExpoViewProps(facebook::react::PropsParserContext const&, expo::ExpoViewProps const&, facebook::react::RawProps const&) + 32 (ExpoViewProps.cpp:32)
0xb4beb4 std::__1::__shared_ptr_emplace<expo::ExpoViewProps, std::__1::allocator<expo::ExpoViewProps>>::__shared_ptr_emplace[abi:v160006]<facebook::react::PropsParserContext const&, expo::ExpoViewProps const&, facebook::react::RawProps const&>(std::__1::allocator<expo::ExpoViewProps>, facebook::react::PropsParserContext const&, expo::ExpoViewProps const&, facebook::react::RawProps const&) + 289 (shared_ptr.h:289)
0xb4be5c std::__1::shared_ptr<expo::ExpoViewProps> std::__1::allocate_shared[abi:v160006]<expo::ExpoViewProps, std::__1::allocator<expo::ExpoViewProps>, facebook::react::PropsParserContext const&, expo::ExpoViewProps const&, facebook::react::RawProps const&, void>(std::__1::allocator<expo::ExpoViewProps> const&, facebook::react::PropsParserContext const&, expo::ExpoViewProps const&, facebook::react::RawProps const&) + 295 (shared_ptr.h:295)
0xb4be08 facebook::react::ConcreteShadowNode<&expo::ExpoViewComponentName, facebook::react::YogaLayoutableShadowNode, expo::ExpoViewProps, expo::ExpoViewEventEmitter, expo::ExpoViewState, false>::Props(facebook::react::PropsParserContext const&, facebook::react::RawProps const&, std::__1::shared_ptr<facebook::react::Props const> const&) + 78 (ConcreteShadowNode.h:78)
0xb4acfc facebook::react::ConcreteComponentDescriptor<expo::ExpoViewShadowNode>::cloneProps(facebook::react::PropsParserContext const&, std::__1::shared_ptr<facebook::react::Props const> const&, facebook::react::RawProps) const + 121 (ConcreteComponentDescriptor.h:121)
0x11f4548 facebook::react::UIManager::createNode(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, facebook::react::RawProps, std::__1::shared_ptr<facebook::react::InstanceHandle const>) const + 35 (RawProps.h:35)
0x11fddfc std::__1::__function::__func<facebook::react::UIManagerBinding::get(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&)::$_2, std::__1::allocator<facebook::react::UIManagerBinding::get(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&)::$_2>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 664 (shared_ptr.h:664)
0xb538fc std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const + 1156 (function.h:1156)
0x15acc std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const + 44
0x15780 facebook::hermes::HermesRuntimeImpl::HFContext::func(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 208
0x23f00 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 140
0x2ff9c hermes::vm::Interpreter::handleCallSlowPath(hermes::vm::Runtime&, hermes::vm::PinnedHermesValue*) + 60
0x319a8 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2540
0x30f94 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 52
0x23fe8 hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40
0xd680 facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 284
0x12855f4 facebook::react::Task::execute(facebook::jsi::Runtime&, bool) + 264 (jsi-inl.h:264)
0x127dddc facebook::react::RuntimeScheduler_Legacy::executeTask(facebook::jsi::Runtime&, std::__1::shared_ptr<facebook::react::Task> const&, bool) + 1242 (jsi.h:1242)
0x127dc7c facebook::react::RuntimeScheduler_Legacy::callExpiredTasks(facebook::jsi::Runtime&) + 744 (shared_ptr.h:744)
0x11be7a4 facebook::react::EventQueueProcessor::flushEvents(facebook::jsi::Runtime&, std::__1::vector<facebook::react::RawEvent, std::__1::allocator<facebook::react::RawEvent>>&&) const + 1423 (vector:1423)
0x11bdb20 facebook::react::EventQueue::flushEvents(facebook::jsi::Runtime&) const + 120 (EventQueue.cpp:120)
0x1198a34 std::__1::__function::__func<facebook::react::AsynchronousEventBeat::induce() const::$_0, std::__1::allocator<facebook::react::AsynchronousEventBeat::induce() const::$_0>, void (facebook::jsi::Runtime&)>::operator()(facebook::jsi::Runtime&) + 156 (shared_ptr.h:156)
0x127ecf8 std::__1::__function::__func<facebook::react::RuntimeScheduler_Legacy::scheduleWork(std::__1::function<void (facebook::jsi::Runtime&)>&&)::$_0, std::__1::allocator<facebook::react::RuntimeScheduler_Legacy::scheduleWork(std::__1::function<void (facebook::jsi::Runtime&)>&&)::$_0>, void (facebook::jsi::Runtime&)>::operator()(facebook::jsi::Runtime&) + 45 (ScopedShadowTreeRevisionLock.h:45)
0xf31418 std::__1::__function::__func<RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'(), std::__1::allocator<RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()>, void ()>::operator()() + 76 (RCTSurfacePresenterBridgeAdapter.mm:76)
0x141b43c std::__1::__function::__func<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void (facebook::jsi::Runtime&)>&&)::$_3, std::__1::allocator<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void (facebook::jsi::Runtime&)>&&)::$_3>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 359 (Instance.cpp:359)
0x1422fb0 std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8>, void ()>::operator()() + 356 (function.h:356)
0x10d53a8 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 510 (function.h:510)
0x10e1028 facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 68 (RCTMessageThread.mm:68)
0x10e0e34 invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 45 (RCTMessageThread.mm:45)
0x65c9c __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28
0x53dec __CFRunLoopDoBlocks + 356
0x53ad0 __CFRunLoopRun + 2440
0x52cd8 CFRunLoopRunSpecific + 608
0x10cace4 +[RCTCxxBridge runRunLoop] + 328 (RCTCxxBridge.mm:328)
0xde428 __NSThread__start__ + 732
0x606c _pthread_start + 136
0x10d8 thread_start + 8
Problem
Tom noticed the
9.0.33.1iOS HybridApp crashing on authentication. Signing in with Google SSO or email crashes the app. The crash didn't occur when opening the app as an authenticated user...There is a single iOS crash on this version which matches Tom's report. This is very likely the cause.
Discussed here in Slack.
Solution
Initially I am thinking this is due to an App PR, as we have been able to successfully build and test HybridApp, and the recent merged PRs seem pretty unrelated.
Tom is working through testflight versions and I am working through recent App merges to isolate potential causes.
Stacktrace:
@AndrewGable