-
Notifications
You must be signed in to change notification settings - Fork 66
Open
Labels
Description
Description
We recently released a version of our app that uses:
[email protected]
expo@53
[email protected] (new architecture enabled)
Since then, we've had a steady stream of App Hanging errors on iOS collected through Sentry. Often, the stack traces refer to rive, e.g.:
RiveRuntime 0x10770e1d4 rive::PointsPathBase::isTypeOf
RiveRuntime 0x1076af9c8 rive::ClippingShape::onAddedClean
RiveRuntime 0x10769a894 rive::Artboard::initialize
RiveRuntime 0x1076d7158 rive::ImportStack::makeLatest
RiveRuntime 0x1076d3828 rive::File::read
RiveRuntime 0x1076d2730 rive::File::import
RiveRuntime 0x10766c6c0 rive::File::import (file.hpp:71)
RiveRuntime 0x10766c340 -[RiveFile import:byteLength:loadCdn:customAssetLoader:error:] (RiveFile.mm:364)
RiveRuntime 0x10766b670 -[RiveFile initWithBytes:byteLength:loadCdn:customAssetLoader:error:] (RiveFile.mm:136)
RiveRuntime 0x10766b7f8 -[RiveFile initWithData:loadCdn:customAssetLoader:error:] (RiveFile.mm:167)
RiveRuntime 0x10766f908 RiveFile.init (RiveFile+Extensions.swift:16)
RiveRuntime 0x1076905bc RiveModel.init (RiveModel.swift:29)
RiveRuntime 0x10768b850 RiveModel.__allocating_init (RiveModel.swift)
RiveRuntime 0x10768b850 RiveViewModel.init (RiveViewModel.swift:97)
RiveRuntime 0x107685f60 RiveViewModel.init (<compiler-generated>)
Emy 0x105b3a3d0 RiveReactNativeView.configureViewModelFromResource
Emy 0x105b39358 RiveReactNativeView.didSetProps
Emy 0x105b39604 RiveReactNativeView.didSetProps
Emy 0x104fdc4ec -[RCTLegacyViewManagerInteropCoordinator setProps:forView:]
Emy 0x104d4e0a0 -[RCTLegacyViewManagerInteropCoordinatorAdapter setProps:]
Emy 0x104d4d888 __60-[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]_block_invoke
Emy 0x104d4d410 -[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]
Emy 0x104d553b0 _ZNSt3__110__function6__funcIZ41-[RCTMountingManager performTransaction:]E3$_1NS_9allocatorIS2_EEFvRKN8facebook5react19MountingTransactionERKNS6_16SurfaceTelemetryEEEclES9_SC_
Emy 0x104fed908 facebook::react::TelemetryController::pullTransaction
Emy 0x104d540bc -[RCTMountingManager performTransaction:]
Emy 0x104d53fd8 -[RCTMountingManager initiateTransaction:]
Emy 0x104d6f2a8 -[RCTSurfacePresenter schedulerShouldRenderTransactions:]
Emy 0x104d64c10 SchedulerDelegateProxy::schedulerShouldRenderTransactions
Emy 0x104fdef30 facebook::react::Scheduler::uiManagerDidFinishTransaction
Emy 0x104ff35ac facebook::react::UIManager::shadowTreeDidFinishTransaction
Emy 0x104fe6a4c facebook::react::ShadowTree::mount
Emy 0x104fe7290 facebook::react::ShadowTree::tryCommit
Emy 0x104fe6b2c facebook::react::ShadowTree::commit
Emy 0x104e2d20c std::__1::__function::__func<T>::operator()
Emy 0x104fe8d38 facebook::react::ShadowTreeRegistry::visit
Emy 0x104e2d0b0 reanimated::ReanimatedMountHook::shadowTreeDidMount
Emy 0x104ff3700 facebook::react::UIManager::reportMount
libdispatch 0x1a1e0131c _dispatch_call_block_and_release
libdispatch 0x1a1e02ea8 _dispatch_client_callout
libdispatch 0x1a1e116a0 _dispatch_main_queue_drain
libdispatch 0x1a1e112f0 _dispatch_main_queue_callback_4CF
CoreFoundation 0x19a9cbc24 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
CoreFoundation 0x19a9ad55c __CFRunLoopRun
CoreFoundation 0x19a9b23e8 CFRunLoopRunSpecific
GraphicsServices 0x1d5e4f358 GSEventRunModal
UIKitCore 0x19cd3f6e4 -[UIApplication _run]
UIKitCore 0x19cd3f348 UIApplicationMain
Emy 0x1043f9b40 main
0x1b9e8adec <redacted>
RiveRuntime 0x103d04b74 rive::ArtboardBase::coreType
RiveRuntime 0x103d8f3d4 rive::Shape::onAddedClean
RiveRuntime 0x103d06894 rive::Artboard::initialize
RiveRuntime 0x103d0eec4 rive::Artboard::instance<T>
RiveRuntime 0x103cd8b74 -[RiveFile artboardFromName:error:] (RiveFile.mm:462)
RiveRuntime 0x103cfcbe0 RiveModel.setArtboard (RiveModel.swift:65)
RiveRuntime 0x103cf3cd4 RiveViewModel.configureModel (RiveViewModel.swift:310)
RiveRuntime 0x103cf2a8c RiveViewModel.sharedInit (RiveViewModel.swift:157)
RiveRuntime 0x103cf78a4 RiveViewModel.init (RiveViewModel.swift:98)
RiveRuntime 0x103cf1f60 RiveViewModel.init (<compiler-generated>)
Emy 0x10228e3d0 RiveReactNativeView.configureViewModelFromResource
Emy 0x10228d358 RiveReactNativeView.didSetProps
Emy 0x10228d604 RiveReactNativeView.didSetProps
Emy 0x1017304ec -[RCTLegacyViewManagerInteropCoordinator setProps:forView:]
Emy 0x1014a20a0 -[RCTLegacyViewManagerInteropCoordinatorAdapter setProps:]
Emy 0x1014a1888 __60-[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]_block_invoke
Emy 0x1014a1410 -[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]
Emy 0x1014a93b0 _ZNSt3__110__function6__funcIZ41-[RCTMountingManager performTransaction:]E3$_1NS_9allocatorIS2_EEFvRKN8facebook5react19MountingTransactionERKNS6_16SurfaceTelemetryEEEclES9_SC_
Emy 0x101741908 facebook::react::TelemetryController::pullTransaction
Emy 0x1014a80bc -[RCTMountingManager performTransaction:]
Emy 0x1014a7fd8 -[RCTMountingManager initiateTransaction:]
libdispatch 0x19f65caa8 _dispatch_call_block_and_release
libdispatch 0x19f676580 _dispatch_client_callout
libdispatch 0x19f69359c _dispatch_main_queue_drain.cold.5
libdispatch 0x19f66bd2c _dispatch_main_queue_drain
libdispatch 0x19f66bc68 _dispatch_main_queue_callback_4CF
CoreFoundation 0x19773dd8c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
CoreFoundation 0x1976e14f0 __CFRunLoopRun
CoreFoundation 0x1976e2c38 CFRunLoopRunSpecific
GraphicsServices 0x1e48c1450 GSEventRunModal
UIKitCore 0x19a0f5270 -[UIApplication _run]
UIKitCore 0x19a0c0a24 UIApplicationMain
Emy 0x100b4db40 main
0x1be5b7f08 <redacted>
libsystem_platform 0x22665e080 _platform_memmove
RiveRuntime 0x107aa49bc rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107aa4938 rive::DependencySorter::visit
RiveRuntime 0x107a7428c rive::Artboard::sortDependencies
RiveRuntime 0x107a734ec rive::Artboard::initialize
RiveRuntime 0x107aaf158 rive::ImportStack::makeLatest
RiveRuntime 0x107aab828 rive::File::read
RiveRuntime 0x107aaa730 rive::File::import
RiveRuntime 0x107a446c0 rive::File::import (file.hpp:71)
RiveRuntime 0x107a44340 -[RiveFile import:byteLength:loadCdn:customAssetLoader:error:] (RiveFile.mm:364)
RiveRuntime 0x107a43670 -[RiveFile initWithBytes:byteLength:loadCdn:customAssetLoader:error:] (RiveFile.mm:136)
RiveRuntime 0x107a437f8 -[RiveFile initWithData:loadCdn:customAssetLoader:error:] (RiveFile.mm:167)
RiveRuntime 0x107a47908 RiveFile.init (RiveFile+Extensions.swift:16)
RiveRuntime 0x107a685bc RiveModel.init (RiveModel.swift:29)
RiveRuntime 0x107a63850 RiveModel.__allocating_init (RiveModel.swift)
RiveRuntime 0x107a63850 RiveViewModel.init (RiveViewModel.swift:97)
RiveRuntime 0x107a5df60 RiveViewModel.init (<compiler-generated>)
Emy 0x1061e23d0 RiveReactNativeView.configureViewModelFromResource
Emy 0x1061e1358 RiveReactNativeView.didSetProps
Emy 0x1061e1604 RiveReactNativeView.didSetProps
Emy 0x1056844ec -[RCTLegacyViewManagerInteropCoordinator setProps:forView:]
Emy 0x1053f60a0 -[RCTLegacyViewManagerInteropCoordinatorAdapter setProps:]
Emy 0x1053f5888 __60-[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]_block_invoke
Emy 0x1053f5410 -[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]
Emy 0x1053fd3b0 _ZNSt3__110__function6__funcIZ41-[RCTMountingManager performTransaction:]E3$_1NS_9allocatorIS2_EEFvRKN8facebook5react19MountingTransactionERKNS6_16SurfaceTelemetryEEEclES9_SC_
Emy 0x105695908 facebook::react::TelemetryController::pullTransaction
Emy 0x1053fc0bc -[RCTMountingManager performTransaction:]
Emy 0x1053fbfd8 -[RCTMountingManager initiateTransaction:]
libdispatch 0x1e26f77a4 _dispatch_call_block_and_release
libdispatch 0x1e26f877c _dispatch_client_callout
libdispatch 0x1e26d9e0c _dispatch_main_queue_drain
libdispatch 0x1e26d9a84 _dispatch_main_queue_callback_4CF$VARIANT$armv81
CoreFoundation 0x1db9d99a8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
CoreFoundation 0x1db9bd644 __CFRunLoopRun
CoreFoundation 0x1db9c1d1c CFRunLoopRunSpecific
GraphicsServices 0x213a91994 GSEventRunModal
UIKitCore 0x1ddc54348 -[UIApplication _run]
UIKitCore 0x1ddc53fc0 UIApplicationMain
Emy 0x104aa1b40 main
0x1f9180344 <redacted>
RiveRuntime 0x1076af9bc rive::ClippingShape::onAddedClean
RiveRuntime 0x1076afa04 rive::ClippingShape::onAddedClean
RiveRuntime 0x10769a894 rive::Artboard::initialize
RiveRuntime 0x1076d7158 rive::ImportStack::makeLatest
RiveRuntime 0x1076d3828 rive::File::read
RiveRuntime 0x1076d2730 rive::File::import
RiveRuntime 0x10766c6c0 rive::File::import (file.hpp:71)
RiveRuntime 0x10766c340 -[RiveFile import:byteLength:loadCdn:customAssetLoader:error:] (RiveFile.mm:364)
RiveRuntime 0x10766b670 -[RiveFile initWithBytes:byteLength:loadCdn:customAssetLoader:error:] (RiveFile.mm:136)
RiveRuntime 0x10766b7f8 -[RiveFile initWithData:loadCdn:customAssetLoader:error:] (RiveFile.mm:167)
RiveRuntime 0x10766f908 RiveFile.init (RiveFile+Extensions.swift:16)
RiveRuntime 0x1076905bc RiveModel.init (RiveModel.swift:29)
RiveRuntime 0x10768b850 RiveModel.__allocating_init (RiveModel.swift)
RiveRuntime 0x10768b850 RiveViewModel.init (RiveViewModel.swift:97)
RiveRuntime 0x107685f60 RiveViewModel.init (<compiler-generated>)
Emy 0x105b3a3d0 RiveReactNativeView.configureViewModelFromResource
Emy 0x105b39358 RiveReactNativeView.didSetProps
Emy 0x105b39604 RiveReactNativeView.didSetProps
Emy 0x104fdc4ec -[RCTLegacyViewManagerInteropCoordinator setProps:forView:]
Emy 0x104d4e0a0 -[RCTLegacyViewManagerInteropCoordinatorAdapter setProps:]
Emy 0x104d4d888 __60-[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]_block_invoke
Emy 0x104d4d410 -[RCTLegacyViewManagerInteropComponentView finalizeUpdates:]
Emy 0x104d553b0 _ZNSt3__110__function6__funcIZ41-[RCTMountingManager performTransaction:]E3$_1NS_9allocatorIS2_EEFvRKN8facebook5react19MountingTransactionERKNS6_16SurfaceTelemetryEEEclES9_SC_
Emy 0x104fed908 facebook::react::TelemetryController::pullTransaction
Emy 0x104d540bc -[RCTMountingManager performTransaction:]
Emy 0x104d53fd8 -[RCTMountingManager initiateTransaction:]
Emy 0x104d6f2a8 -[RCTSurfacePresenter schedulerShouldRenderTransactions:]
Emy 0x104d64c10 SchedulerDelegateProxy::schedulerShouldRenderTransactions
Emy 0x104fdef30 facebook::react::Scheduler::uiManagerDidFinishTransaction
Emy 0x104ff35ac facebook::react::UIManager::shadowTreeDidFinishTransaction
Emy 0x104fe7c58 facebook::react::ShadowTree::notifyDelegatesOfUpdates
Emy 0x104fe8d38 facebook::react::ShadowTreeRegistry::visit
Emy 0x104e28c44 std::__1::__function::__func<T>::operator()
Emy 0x104e40510 std::__1::function<T>::operator()
Emy 0x104e40284 worklets::jsi_utils::createHostFunction<T>::lambda::operator()
Emy 0x1046d6520 std::__1::function<T>::operator()
Emy 0x1046d6520 std::__1::function<T>::operator()
hermes 0x107eb3788 std::__1::function<T>::operator()
hermes 0x107eb3450 facebook::hermes::HermesRuntimeImpl::HFContext::func
hermes 0x107ec30f0 hermes::vm::NativeFunction::_nativeCall
hermes 0x107ecf6f8 hermes::vm::Interpreter::handleCallSlowPath
hermes 0x107ed1104 hermes::vm::Interpreter::interpretFunction<T>
hermes 0x107ed06f0 hermes::vm::Runtime::interpretFunctionImpl
hermes 0x107ec31d8 hermes::vm::JSFunction::_callImpl
hermes 0x107ec1c40 hermes::vm::Callable::executeCall3
hermes 0x107eefb2c hermes::vm::JSMapImpl<T>::forEach
hermes 0x107f403f8 hermes::vm::mapPrototypeForEach
hermes 0x107ec30f0 hermes::vm::NativeFunction::_nativeCall
hermes 0x107ecf6f8 hermes::vm::Interpreter::handleCallSlowPath
hermes 0x107ed1104 hermes::vm::Interpreter::interpretFunction<T>
hermes 0x107ed06f0 hermes::vm::Runtime::interpretFunctionImpl
hermes 0x107ec31d8 hermes::vm::JSFunction::_callImpl
hermes 0x107ec1a5c hermes::vm::Callable::executeCall1
hermes 0x107ee3c88 hermes::vm::JSObject::putNamedWithReceiver_RJS
hermes 0x107ed2f08 hermes::vm::Interpreter::interpretFunction<T>
hermes 0x107ed06f0 hermes::vm::Runtime::interpretFunctionImpl
hermes 0x107ec31d8 hermes::vm::JSFunction::_callImpl
hermes 0x107ec1c40 hermes::vm::Callable::executeCall3
hermes 0x107f1a4a4 hermes::vm::arrayPrototypeForEach
hermes 0x107ec30f0 hermes::vm::NativeFunction::_nativeCall
hermes 0x107ecf6f8 hermes::vm::Interpreter::handleCallSlowPath
hermes 0x107ed1104 hermes::vm::Interpreter::interpretFunction<T>
hermes 0x107ed06f0 hermes::vm::Runtime::interpretFunctionImpl
hermes 0x107ec31d8 hermes::vm::JSFunction::_callImpl
hermes 0x107eab878 facebook::hermes::HermesRuntimeImpl::call
Emy 0x104e44f84 facebook::jsi::WithRuntimeDecorator<T>::call
Emy 0x104e25624 worklets::runOnRuntimeGuarded<T>
Emy 0x104e2553c reanimated::ReanimatedModuleProxy::onRender
Emy 0x104e28854 std::__1::__function::__func<T>::operator()
Emy 0x104e17c38 reanimated::makeRequestRender::lambda::operator()
Emy 0x104e2f180 -[REANodesManager onAnimationFrame:]
QuartzCore 0x19be80468 CA::Display::DisplayLink::dispatch_items
QuartzCore 0x19bf9df24 CA::Display::DisplayLink::dispatch_deferred_display_links
UIKitCore 0x19cff04ac _UIUpdateSequenceRun
UIKitCore 0x19d654c88 schedulerStepScheduledMainSection
UIKitCore 0x19d6541e4 runloopSourceCallback
CoreFoundation 0x19aa06124 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
CoreFoundation 0x19aa127b0 __CFRunLoopDoSource0
CoreFoundation 0x19a9975e4 __CFRunLoopDoSources0
CoreFoundation 0x19a9ad0d0 __CFRunLoopRun
CoreFoundation 0x19a9b23e8 CFRunLoopRunSpecific
GraphicsServices 0x1d5e4f358 GSEventRunModal
UIKitCore 0x19cd3f6e4 -[UIApplication _run]
UIKitCore 0x19cd3f348 UIApplicationMain
Emy 0x1043f9b40 main
0x1b9e8adec <redacted>
Provide a Repro
I personally haven't been able to reproduce these on iOS yet, but I have encountered occasional ANRs on Android, and we have also had Sentry reports that seem to be the Android equivalent of these App Hanging errors. I already reported those Android errors here, apologies if that was the wrong place:
rive-app/rive-android#381
rive-app/rive-android#380
rive-app/rive-android#379
Source .riv/.rev file
Can be provided on request.
Device & Versions (please complete the following information)
- Device: iPhone XR, iPhone 8, iPhone 12 Mini, + others
- OS: iOS 18.5, iOS 16.7, iOS 16.5, + others
- NPM Version:
10.9.2
annasborysova