I don't have a minimal repro case for you yet, but here's what I'm doing at a high level:
It seems like I can avoid the crash by retaining references to textures for a few frames, but the crash is non-deterministic so I can't guarantee it.
Triggered by Thread: 11
Thread 0:: Dispatch queue: com.apple.main-thread
0 App.debug.dylib 0x10e04c680 GrGeometryProcessor::AttributeSet::initImplicit(GrGeometryProcessor::Attribute const*, int) + 84
1 App.debug.dylib 0x10e0d89f4 CircleGeometryProcessor::CircleGeometryProcessor(bool, bool, bool, bool, bool, bool, SkMatrix const&) + 336
2 App.debug.dylib 0x10e0de068 CircleOp::onCreateProgramInfo(GrCaps const*, SkArenaAlloc*, GrSurfaceProxyView const&, bool, GrAppliedClip&&, GrDstProxyView const&, GrXferBarrierFlags, GrLoadOp) + 296
3 App.debug.dylib 0x10e0d5df4 GrMeshDrawOp::createProgramInfo(GrMeshDrawTarget*) + 256
4 App.debug.dylib 0x10e0de0fc CircleOp::onPrepareDraws(GrMeshDrawTarget*) + 72
5 App.debug.dylib 0x10e0e47d4 skgpu::ganesh::OpsTask::onPrepare(GrOpFlushState*) + 452
6 App.debug.dylib 0x10e059cb0 GrRenderTask::prepare(GrOpFlushState*) + 104
7 App.debug.dylib 0x10e03ec80 GrDrawingManager::executeRenderTasks(GrOpFlushState*) + 92
8 App.debug.dylib 0x10e03e6dc GrDrawingManager::flush(SkSpan<GrSurfaceProxy*>, SkSurfaces::BackendSurfaceAccess, GrFlushInfo const&, skgpu::MutableTextureState const*) + 1404
9 App.debug.dylib 0x10e03f1f0 GrDrawingManager::flushSurfaces(SkSpan<GrSurfaceProxy*>, SkSurfaces::BackendSurfaceAccess, GrFlushInfo const&, skgpu::MutableTextureState const*) + 168
10 App.debug.dylib 0x10dbe8b74 GrDirectContext::flushAndSubmit(GrSyncCpu) + 68 (GrDirectContext.h:338)
11 App.debug.dylib 0x10dc59fbc RNSkia::JsiSkSurface::flush(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 128 (JsiSkSurface.h:75)
12 App.debug.dylib 0x10dbe1d1c decltype(*std::declval<RNJsi::JsiHostObject*&>().*std::declval<facebook::jsi::Value (RNJsi::JsiHostObject::*&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<facebook::jsi::Value (RNJsi::JsiHostObject::*&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long, void>(facebook::jsi::Value (RNJsi::JsiHostObject::*&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 176 (invoke.h:117)
13 App.debug.dylib 0x10dbe1c14 std::__1::__bind_return<facebook::jsi::Value (RNJsi::JsiHostObject::*)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::tuple<RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, std::__1::placeholders::__ph<3>, std::__1::placeholders::__ph<4>>, std::__1::tuple<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&>, __is_valid_bind_return<facebook::jsi::Value (RNJsi::JsiHostObject::*)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::tuple<RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, std::__1::placeholders::__ph<3>, std::__1::placeholders::__ph<4>>, std::__1::tuple<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&>>::value>::type std::__1::__apply_functor[abi:de190102]<facebook::jsi::Value (RNJsi::JsiHostObject::*)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::tuple<RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, std::__1::placeholders::__ph<3>, std::__1::placeholders::__ph<4>>, 0ul, 1ul, 2ul, 3ul, 4ul, std::__1::tuple<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&>>(facebook::jsi::Value (RNJsi::JsiHostObject::*&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::tuple<RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, std::__1::placeholders::__ph<3>, std::__1::placeholders::__ph<4>>&, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul>, std::__1::tuple<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&>&&) + 168 (bind.h:196)
14 App.debug.dylib 0x10dbe1b60 std::__1::__bind_return<facebook::jsi::Value (RNJsi::JsiHostObject::*)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::tuple<RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, std::__1::placeholders::__ph<3>, std::__1::placeholders::__ph<4>>, std::__1::tuple<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&>, __is_valid_bind_return<facebook::jsi::Value (RNJsi::JsiHostObject::*)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::tuple<RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, std::__1::placeholders::__ph<3>, std::__1::placeholders::__ph<4>>, std::__1::tuple<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&>>::value>::type std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>::operator()[abi:de190102]<facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 100 (bind.h:223)
15 App.debug.dylib 0x10dbe1af0 decltype(std::declval<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:149)
16 App.debug.dylib 0x10dbe1a80 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de190102]<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:216)
17 App.debug.dylib 0x10dbe1a34 std::__1::__function::__alloc_func<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>, std::__1::allocator<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:171)
18 App.debug.dylib 0x10dbe0a1c std::__1::__function::__func<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>, std::__1::allocator<std::__1::__bind<facebook::jsi::Value (RNJsi::JsiHostObject::* const&)(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), RNJsi::JsiHostObject*, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, std::__1::placeholders::__ph<3> const&, std::__1::placeholders::__ph<4> const&>>, 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&&) + 68 (function.h:313)
19 App.debug.dylib 0x10bcf4d50 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 104 (function.h:430)
20 App.debug.dylib 0x10bcf4cbc 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 + 72 (function.h:989)
21 App.debug.dylib 0x10c7aff70 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36)
22 App.debug.dylib 0x10c7aff10 decltype(std::declval<facebook::jsi::DecoratedHostFunction&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:149)
23 App.debug.dylib 0x10c7afe98 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:216)
24 App.debug.dylib 0x10c7afe4c std::__1::__function::__alloc_func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:171)
25 App.debug.dylib 0x10c7aebec std::__1::__function::__func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, 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&&) + 68 (function.h:313)
26 App.debug.dylib 0x10bcf4d50 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 104 (function.h:430)
27 App.debug.dylib 0x10bcf4cbc 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 + 72 (function.h:989)
28 App.debug.dylib 0x10c7aff70 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36)
29 App.debug.dylib 0x10c7aff10 decltype(std::declval<facebook::jsi::DecoratedHostFunction&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:149)
30 App.debug.dylib 0x10c7afe98 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:216)
31 App.debug.dylib 0x10c7afe4c std::__1::__function::__alloc_func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:171)
32 App.debug.dylib 0x10c7aebec std::__1::__function::__func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, 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&&) + 68 (function.h:313)
33 hermes 0x101fd8b20 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::HFContext::func(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 532
34 hermes 0x102093b58 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
35 hermes 0x1020adde4 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2320
36 hermes 0x1020ad4a0 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
37 hermes 0x102093e2c hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40
38 hermes 0x10209363c hermes::vm::BoundFunction::_boundCall(hermes::vm::BoundFunction*, hermes::inst::Inst const*, hermes::vm::Runtime&) + 504
39 hermes 0x1020ade00 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2348
40 hermes 0x1020ad4a0 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
41 hermes 0x102093e2c hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40
42 hermes 0x10209363c hermes::vm::BoundFunction::_boundCall(hermes::vm::BoundFunction*, hermes::inst::Inst const*, hermes::vm::Runtime&) + 504
43 hermes 0x10212cac8 hermes::vm::hermesBuiltinApply(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 1176
44 hermes 0x102093b58 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
45 hermes 0x1020b8aa8 hermes::vm::Interpreter::implCallBuiltin(hermes::vm::Runtime&, hermes::vm::PinnedHermesValue*, hermes::vm::CodeBlock*, unsigned int) + 80
46 hermes 0x1020ae148 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 3188
47 hermes 0x1020ad4a0 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
48 hermes 0x102093e2c hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40
49 hermes 0x102091bb0 hermes::vm::Callable::executeCall3(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::HermesValue, hermes::vm::HermesValue, hermes::vm::HermesValue, bool) + 200
50 hermes 0x10210b778 hermes::vm::arrayPrototypeForEach(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 616
51 hermes 0x102093b58 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
52 hermes 0x1020adde4 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2320
53 hermes 0x1020ad4a0 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
54 hermes 0x102093e2c hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40
55 hermes 0x10209363c hermes::vm::BoundFunction::_boundCall(hermes::vm::BoundFunction*, hermes::inst::Inst const*, hermes::vm::Runtime&) + 504
56 hermes 0x101fcf398 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 748
57 App.debug.dylib 0x10c7acd70 facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 76 (decorator.h:393)
58 App.debug.dylib 0x10c7aaa60 facebook::jsi::WithRuntimeDecorator<worklets::WorkletsReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 88 (decorator.h:933)
59 App.debug.dylib 0x10c7acd70 facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 76 (decorator.h:393)
60 App.debug.dylib 0x10c7b8cd4 facebook::jsi::WithRuntimeDecorator<worklets::AroundLock, facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 88 (decorator.h:933)
61 App.debug.dylib 0x10bafcbdc facebook::jsi::Function::call(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 100 (jsi-inl.h:282)
62 App.debug.dylib 0x10c794b24 worklets::$_2::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const + 112 (Serializable.cpp:20)
63 App.debug.dylib 0x10c794aa8 decltype(std::declval<worklets::$_2&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<worklets::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(worklets::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:149)
64 App.debug.dylib 0x10c794a30 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de190102]<worklets::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(worklets::$_2&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:216)
65 App.debug.dylib 0x10c7949e4 std::__1::__function::__alloc_func<worklets::$_2, std::__1::allocator<worklets::$_2>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:171)
66 App.debug.dylib 0x10c793870 std::__1::__function::__func<worklets::$_2, std::__1::allocator<worklets::$_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&&) + 68 (function.h:313)
67 App.debug.dylib 0x10bcf4d50 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 104 (function.h:430)
68 App.debug.dylib 0x10bcf4cbc 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 + 72 (function.h:989)
69 App.debug.dylib 0x10c7aff70 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36)
70 App.debug.dylib 0x10c7aff10 decltype(std::declval<facebook::jsi::DecoratedHostFunction&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:149)
71 App.debug.dylib 0x10c7afe98 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:216)
72 App.debug.dylib 0x10c7afe4c std::__1::__function::__alloc_func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:171)
73 App.debug.dylib 0x10c7aebec std::__1::__function::__func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, 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&&) + 68 (function.h:313)
74 App.debug.dylib 0x10bcf4d50 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 104 (function.h:430)
75 App.debug.dylib 0x10bcf4cbc 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 + 72 (function.h:989)
76 App.debug.dylib 0x10c7aff70 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36)
77 App.debug.dylib 0x10c7aff10 decltype(std::declval<facebook::jsi::DecoratedHostFunction&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval<unsigned long>())) std::__1::__invoke[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:149)
78 App.debug.dylib 0x10c7afe98 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de190102]<facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(facebook::jsi::DecoratedHostFunction&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 64 (invoke.h:216)
79 App.debug.dylib 0x10c7afe4c std::__1::__function::__alloc_func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de190102](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:171)
80 App.debug.dylib 0x10c7aebec std::__1::__function::__func<facebook::jsi::DecoratedHostFunction, std::__1::allocator<facebook::jsi::DecoratedHostFunction>, 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&&) + 68 (function.h:313)
81 hermes 0x101fd8b20 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::HFContext::func(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 532
82 hermes 0x102093b58 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
83 hermes 0x101fcf398 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 748
84 App.debug.dylib 0x10c7acd70 facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 76 (decorator.h:393)
85 App.debug.dylib 0x10c7aaa60 facebook::jsi::WithRuntimeDecorator<worklets::WorkletsReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 88 (decorator.h:933)
86 App.debug.dylib 0x10c7acd70 facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 76 (decorator.h:393)
87 App.debug.dylib 0x10c7b8cd4 facebook::jsi::WithRuntimeDecorator<worklets::AroundLock, facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 88 (decorator.h:933)
88 App.debug.dylib 0x10bafcbdc facebook::jsi::Function::call(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 100 (jsi-inl.h:282)
89 App.debug.dylib 0x10bafcb6c facebook::jsi::Function::call(facebook::jsi::Runtime&, std::initializer_list<facebook::jsi::Value>) const + 112 (jsi-inl.h:287)
90 App.debug.dylib 0x10bc6fb30 facebook::jsi::Value facebook::jsi::Function::call<facebook::jsi::Value const&>(facebook::jsi::Runtime&, facebook::jsi::Value const&) const + 132 (jsi-inl.h:295)
91 App.debug.dylib 0x10c7611c8 facebook::jsi::Value worklets::runOnRuntimeGuarded<>(facebook::jsi::Runtime&, facebook::jsi::Value const&) + 64 (Serializable.h:33)
92 App.debug.dylib 0x10c7610d8 facebook::jsi::Value worklets::WorkletRuntime::runGuarded<>(std::__1::shared_ptr<worklets::SerializableWorklet> const&) const + 100 (WorkletRuntime.h:51)
93 App.debug.dylib 0x10c760fd4 worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()::operator()() const + 124 (JSIWorkletsModuleProxy.cpp:50)
94 App.debug.dylib 0x10c760f4c decltype(std::declval<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()&>()()) std::__1::__invoke[abi:de190102]<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()&>(worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()&) + 24 (invoke.h:149)
95 App.debug.dylib 0x10c760f04 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de190102]<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()&>(worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()&) + 24 (invoke.h:224)
96 App.debug.dylib 0x10c760ee0 std::__1::__function::__alloc_func<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(), std::__1::allocator<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()>, void ()>::operator()[abi:de190102]() + 28 (function.h:171)
97 App.debug.dylib 0x10c75fcac std::__1::__function::__func<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(), std::__1::allocator<worklets::scheduleOnUI(std::__1::shared_ptr<worklets::UIScheduler> const&, std::__1::weak_ptr<worklets::WorkletRuntime> const&, facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'()>, void ()>::operator()() + 28 (function.h:313)
98 App.debug.dylib 0x10baa106c std::__1::__function::__value_func<void ()>::operator()[abi:de190102]() const + 60 (function.h:430)
99 App.debug.dylib 0x10ba9a714 std::__1::function<void ()>::operator()() const + 24 (function.h:989)
100 App.debug.dylib 0x10c7a6d7c worklets::UIScheduler::triggerUI() + 120 (UIScheduler.cpp:15)
101 App.debug.dylib 0x10c73a730 worklets::IOSUIScheduler::scheduleOnUI(std::__1::function<void ()>)::$_0::operator()() const + 68 (IOSUIScheduler.mm:23)
102 App.debug.dylib 0x10c73a6e0 invocation function for block in worklets::IOSUIScheduler::scheduleOnUI(std::__1::function<void ()>) + 28 (IOSUIScheduler.mm:18)
103 libdispatch.dylib 0x18017b314 _dispatch_call_block_and_release + 24
104 libdispatch.dylib 0x18017cc08 _dispatch_client_callout + 16
105 libdispatch.dylib 0x18018bc2c _dispatch_main_queue_drain + 1276
106 libdispatch.dylib 0x18018b720 _dispatch_main_queue_callback_4CF + 40
107 CoreFoundation 0x18041cdbc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
108 CoreFoundation 0x180417318 __CFRunLoopRun + 1944
109 CoreFoundation 0x180416704 CFRunLoopRunSpecific + 552
110 GraphicsServices 0x190604b10 GSEventRunModal + 160
111 UIKitCore 0x185b39180 -[UIApplication _run] + 796
112 UIKitCore 0x185b3d378 UIApplicationMain + 124
113 App.debug.dylib 0x10b7b56a4 __debug_main_executable_dylib_entry_point + 64 (AppDelegate.swift:6)
114 ??? 0x100e7d410 ???
115 dyld 0x100bb6b98 start + 6076
Thread 11 Crashed:: hades
0 App.debug.dylib 0x10e05d8e0 GrResourceCache::removeResource(GrGpuResource*) + 480
1 App.debug.dylib 0x10e04fcbc GrGpuResource::release() + 48
2 App.debug.dylib 0x10e05e518 GrResourceCache::notifyARefCntReachedZero(GrGpuResource*, GrIORef<GrGpuResource>::LastRemovedRef) + 476
3 App.debug.dylib 0x10e1133c8 GrMtlFramebuffer::~GrMtlFramebuffer() + 136
4 App.debug.dylib 0x10e11e980 GrMtlRenderTarget::~GrMtlRenderTarget() + 200
5 App.debug.dylib 0x10e123cdc virtual thunk to GrMtlTextureRenderTarget::~GrMtlTextureRenderTarget() + 44
6 App.debug.dylib 0x10e0663a8 GrTextureProxy::~GrTextureProxy() + 88
7 App.debug.dylib 0x10e0679c4 virtual thunk to GrTextureRenderTargetProxy::~GrTextureRenderTargetProxy() + 44
8 App.debug.dylib 0x10e0b2784 SkImage_Ganesh::~SkImage_Ganesh() + 148
9 App.debug.dylib 0x10e0b27dc SkImage_Ganesh::~SkImage_Ganesh() + 12
10 App.debug.dylib 0x10dbe7d74 SkRefCntBase::unref() const + 108 (SkRefCnt.h:78)
11 App.debug.dylib 0x10dbee774 void SkSafeUnref<SkImage>(SkImage*) + 36 (SkRefCnt.h:151)
12 App.debug.dylib 0x10dbee734 sk_sp<SkImage>::~sk_sp() + 32 (SkRefCnt.h:256)
13 App.debug.dylib 0x10dbea02c sk_sp<SkImage>::~sk_sp() + 28 (SkRefCnt.h:255)
14 App.debug.dylib 0x10dd7190c std::__1::__optional_destruct_base<sk_sp<SkImage>, false>::~__optional_destruct_base[abi:de190102]() + 52 (optional:293)
15 App.debug.dylib 0x10dd718c8 std::__1::__optional_storage_base<sk_sp<SkImage>, false>::~__optional_storage_base() + 28 (optional:348)
16 App.debug.dylib 0x10dd7189c std::__1::__optional_copy_base<sk_sp<SkImage>, false>::~__optional_copy_base() + 28 (optional:465)
17 App.debug.dylib 0x10dd71870 std::__1::__optional_move_base<sk_sp<SkImage>, false>::~__optional_move_base() + 28 (optional:485)
18 App.debug.dylib 0x10dd71844 std::__1::__optional_copy_assign_base<sk_sp<SkImage>, false>::~__optional_copy_assign_base() + 28 (optional:509)
19 App.debug.dylib 0x10dd71818 std::__1::__optional_move_assign_base<sk_sp<SkImage>, false>::~__optional_move_assign_base() + 28 (optional:533)
20 App.debug.dylib 0x10dd717ec std::__1::optional<sk_sp<SkImage>>::~optional() + 28 (optional:575)
21 App.debug.dylib 0x10dd6fd78 std::__1::optional<sk_sp<SkImage>>::~optional() + 28 (optional:575)
22 App.debug.dylib 0x10dd8f5ac RNSkia::ImageCmdProps::~ImageCmdProps() + 32 (Drawings.h:464)
23 App.debug.dylib 0x10dd8f4a8 RNSkia::ImageCmdProps::~ImageCmdProps() + 28 (Drawings.h:464)
24 App.debug.dylib 0x10dd8f5f8 RNSkia::ImageCmd::~ImageCmd() + 48 (Drawings.h:475)
25 App.debug.dylib 0x10dd8f4d4 RNSkia::ImageCmd::~ImageCmd() + 28 (Drawings.h:475)
26 App.debug.dylib 0x10dd8f500 RNSkia::ImageCmd::~ImageCmd() + 28 (Drawings.h:475)
27 App.debug.dylib 0x10dd2ba08 std::__1::default_delete<RNSkia::Command>::operator()[abi:de190102](RNSkia::Command*) const + 52 (unique_ptr.h:81)
28 App.debug.dylib 0x10dd2b97c std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>::reset[abi:de190102](RNSkia::Command*) + 96 (unique_ptr.h:293)
29 App.debug.dylib 0x10dd2b90c std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>::~unique_ptr[abi:de190102]() + 32 (unique_ptr.h:262)
30 App.debug.dylib 0x10dd2b8dc std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>::~unique_ptr[abi:de190102]() + 28 (unique_ptr.h:262)
31 App.debug.dylib 0x10dd2b8b4 void std::__1::__destroy_at[abi:de190102]<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, 0>(std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>*) + 44 (construct_at.h:67)
32 App.debug.dylib 0x10dd2b868 void std::__1::allocator_traits<std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>>::destroy[abi:de190102]<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, void, 0>(std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>&, std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>*) + 28 (allocator_traits.h:339)
33 App.debug.dylib 0x10dd2b828 std::__1::vector<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>>::__base_destruct_at_end[abi:de190102](std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>*) + 100 (vector:985)
34 App.debug.dylib 0x10dd2b70c std::__1::vector<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>>::__clear[abi:de190102]() + 28 (vector:979)
35 App.debug.dylib 0x10dd2b67c std::__1::vector<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>>::__destroy_vector::operator()[abi:de190102]() + 52 (vector:530)
36 App.debug.dylib 0x10dd2b5fc std::__1::vector<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>>::~vector[abi:de190102]() + 44 (vector:541)
37 App.debug.dylib 0x10dd2acfc std::__1::vector<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>, std::__1::allocator<std::__1::unique_ptr<RNSkia::Command, std::__1::default_delete<RNSkia::Command>>>>::~vector[abi:de190102]() + 28 (vector:541)
38 App.debug.dylib 0x10dd2aca4 RNSkia::Recorder::~Recorder() + 40 (RNRecorder.h:29)
39 App.debug.dylib 0x10dd2ac6c RNSkia::Recorder::~Recorder() + 28 (RNRecorder.h:29)
40 App.debug.dylib 0x10dd2ac44 void std::__1::__destroy_at[abi:de190102]<RNSkia::Recorder, 0>(RNSkia::Recorder*) + 44 (construct_at.h:67)
41 App.debug.dylib 0x10dd2ac0c void std::__1::allocator_traits<std::__1::allocator<RNSkia::Recorder>>::destroy[abi:de190102]<RNSkia::Recorder, void, 0>(std::__1::allocator<RNSkia::Recorder>&, RNSkia::Recorder*) + 28 (allocator_traits.h:339)
42 App.debug.dylib 0x10dd2abdc void std::__1::__shared_ptr_emplace<RNSkia::Recorder, std::__1::allocator<RNSkia::Recorder>>::__on_zero_shared_impl[abi:de190102]<std::__1::allocator<RNSkia::Recorder>, 0>() + 48 (shared_ptr.h:285)
43 App.debug.dylib 0x10dd2a4d8 std::__1::__shared_ptr_emplace<RNSkia::Recorder, std::__1::allocator<RNSkia::Recorder>>::__on_zero_shared() + 24 (shared_ptr.h:288)
44 App.debug.dylib 0x10ba9e424 std::__1::__shared_count::__release_shared[abi:de190102]() + 60 (shared_ptr.h:158)
45 App.debug.dylib 0x10ba9e3c8 std::__1::__shared_weak_count::__release_shared[abi:de190102]() + 28 (shared_ptr.h:187)
46 App.debug.dylib 0x10dd2be60 std::__1::shared_ptr<RNSkia::Recorder>::~shared_ptr[abi:de190102]() + 56 (shared_ptr.h:670)
47 App.debug.dylib 0x10dd290f4 std::__1::shared_ptr<RNSkia::Recorder>::~shared_ptr[abi:de190102]() + 28 (shared_ptr.h:668)
48 App.debug.dylib 0x10dd2befc RNSkia::JsiSkWrappingHostObject<std::__1::shared_ptr<RNSkia::Recorder>>::~JsiSkWrappingHostObject() + 48 (JsiSkHostObjects.h:63)
49 App.debug.dylib 0x10dd2bebc RNSkia::JsiSkWrappingSharedPtrHostObject<RNSkia::Recorder>::~JsiSkWrappingSharedPtrHostObject() + 28 (JsiSkHostObjects.h:104)
50 App.debug.dylib 0x10dd2be90 RNSkia::JsiRecorder::~JsiRecorder() + 28 (JsiRecorder.h:21)
51 App.debug.dylib 0x10dd29120 RNSkia::JsiRecorder::~JsiRecorder() + 28 (JsiRecorder.h:21)
52 App.debug.dylib 0x10dde574c void std::__1::__destroy_at[abi:de190102]<RNSkia::JsiRecorder, 0>(RNSkia::JsiRecorder*) + 52 (construct_at.h:67)
53 App.debug.dylib 0x10dde570c void std::__1::allocator_traits<std::__1::allocator<RNSkia::JsiRecorder>>::destroy[abi:de190102]<RNSkia::JsiRecorder, void, 0>(std::__1::allocator<RNSkia::JsiRecorder>&, RNSkia::JsiRecorder*) + 28 (allocator_traits.h:339)
54 App.debug.dylib 0x10dde56dc void std::__1::__shared_ptr_emplace<RNSkia::JsiRecorder, std::__1::allocator<RNSkia::JsiRecorder>>::__on_zero_shared_impl[abi:de190102]<std::__1::allocator<RNSkia::JsiRecorder>, 0>() + 48 (shared_ptr.h:285)
55 App.debug.dylib 0x10dd28d6c std::__1::__shared_ptr_emplace<RNSkia::JsiRecorder, std::__1::allocator<RNSkia::JsiRecorder>>::__on_zero_shared() + 24 (shared_ptr.h:288)
56 App.debug.dylib 0x10ba9e424 std::__1::__shared_count::__release_shared[abi:de190102]() + 60 (shared_ptr.h:158)
57 App.debug.dylib 0x10ba9e3c8 std::__1::__shared_weak_count::__release_shared[abi:de190102]() + 28 (shared_ptr.h:187)
58 App.debug.dylib 0x10ba9e398 std::__1::shared_ptr<facebook::jsi::HostObject>::~shared_ptr[abi:de190102]() + 56 (shared_ptr.h:670)
59 App.debug.dylib 0x10ba9b160 std::__1::shared_ptr<facebook::jsi::HostObject>::~shared_ptr[abi:de190102]() + 28 (shared_ptr.h:668)
60 App.debug.dylib 0x10c7adc98 facebook::jsi::DecoratedHostObject::~DecoratedHostObject() + 48 (decorator.h:57)
61 App.debug.dylib 0x10c7adafc facebook::jsi::DecoratedHostObject::~DecoratedHostObject() + 28 (decorator.h:57)
62 App.debug.dylib 0x10c7addf4 void std::__1::__destroy_at[abi:de190102]<facebook::jsi::DecoratedHostObject, 0>(facebook::jsi::DecoratedHostObject*) + 52 (construct_at.h:67)
63 App.debug.dylib 0x10c7addb4 void std::__1::allocator_traits<std::__1::allocator<facebook::jsi::DecoratedHostObject>>::destroy[abi:de190102]<facebook::jsi::DecoratedHostObject, void, 0>(std::__1::allocator<facebook::jsi::DecoratedHostObject>&, facebook::jsi::DecoratedHostObject*) + 28 (allocator_traits.h:339)
64 App.debug.dylib 0x10c7add84 void std::__1::__shared_ptr_emplace<facebook::jsi::DecoratedHostObject, std::__1::allocator<facebook::jsi::DecoratedHostObject>>::__on_zero_shared_impl[abi:de190102]<std::__1::allocator<facebook::jsi::DecoratedHostObject>, 0>() + 48 (shared_ptr.h:285)
65 App.debug.dylib 0x10c7ad81c std::__1::__shared_ptr_emplace<facebook::jsi::DecoratedHostObject, std::__1::allocator<facebook::jsi::DecoratedHostObject>>::__on_zero_shared() + 24 (shared_ptr.h:288)
66 App.debug.dylib 0x10ba9e424 std::__1::__shared_count::__release_shared[abi:de190102]() + 60 (shared_ptr.h:158)
67 App.debug.dylib 0x10ba9e3c8 std::__1::__shared_weak_count::__release_shared[abi:de190102]() + 28 (shared_ptr.h:187)
68 App.debug.dylib 0x10ba9e398 std::__1::shared_ptr<facebook::jsi::HostObject>::~shared_ptr[abi:de190102]() + 56 (shared_ptr.h:670)
69 App.debug.dylib 0x10ba9b160 std::__1::shared_ptr<facebook::jsi::HostObject>::~shared_ptr[abi:de190102]() + 28 (shared_ptr.h:668)
70 App.debug.dylib 0x10c7adc98 facebook::jsi::DecoratedHostObject::~DecoratedHostObject() + 48 (decorator.h:57)
71 App.debug.dylib 0x10c7adafc facebook::jsi::DecoratedHostObject::~DecoratedHostObject() + 28 (decorator.h:57)
72 App.debug.dylib 0x10c7addf4 void std::__1::__destroy_at[abi:de190102]<facebook::jsi::DecoratedHostObject, 0>(facebook::jsi::DecoratedHostObject*) + 52 (construct_at.h:67)
73 App.debug.dylib 0x10c7addb4 void std::__1::allocator_traits<std::__1::allocator<facebook::jsi::DecoratedHostObject>>::destroy[abi:de190102]<facebook::jsi::DecoratedHostObject, void, 0>(std::__1::allocator<facebook::jsi::DecoratedHostObject>&, facebook::jsi::DecoratedHostObject*) + 28 (allocator_traits.h:339)
74 App.debug.dylib 0x10c7add84 void std::__1::__shared_ptr_emplace<facebook::jsi::DecoratedHostObject, std::__1::allocator<facebook::jsi::DecoratedHostObject>>::__on_zero_shared_impl[abi:de190102]<std::__1::allocator<facebook::jsi::DecoratedHostObject>, 0>() + 48 (shared_ptr.h:285)
75 App.debug.dylib 0x10c7ad81c std::__1::__shared_ptr_emplace<facebook::jsi::DecoratedHostObject, std::__1::allocator<facebook::jsi::DecoratedHostObject>>::__on_zero_shared() + 24 (shared_ptr.h:288)
76 hermes 0x101fd7700 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::JsiProxy::~JsiProxy() + 76
77 hermes 0x10216f3e0 hermes::vm::HadesGC::OldGen::sweepNext(bool) + 732
78 hermes 0x102178468 std::__1::__function::__func<hermes::vm::HadesGC::collectOGInBackground()::$_0, std::__1::allocator<hermes::vm::HadesGC::collectOGInBackground()::$_0>, void ()>::operator()() + 172
79 hermes 0x102177230 hermes::vm::HadesGC::Executor::worker() + 452
80 hermes 0x102177040 void* std::__1::__thread_proxy[abi:nn180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*) + 44
81 libsystem_pthread.dylib 0x100d625f0 _pthread_start + 104
82 libsystem_pthread.dylib 0x100d5d998 thread_start + 8
I'll follow up with a MRE if I can, but I'd like to get this filed as the cause may be clear enough :).
Description
When we render a Skia Picture as a texture via
usePictureAsTextureand display it with<Image image={texture} />and repeatedly re-render , the app intermittently crashes. The crash shows GPU-backed Skia/Ganesh resources (Metal) being destroyed from Hermes’ Hades GC thread while the UI thread is submitting/flushing GPU work.I don't have a minimal repro case for you yet, but here's what I'm doing at a high level:
createPicture, drawing many (~1000) elements imperativelyconst texture = usePictureAsTexture(...)<Image image={texture} ... />to draw the texture into a canvasIt seems like I can avoid the crash by retaining references to textures for a few frames, but the crash is non-deterministic so I can't guarantee it.
React Native Skia Version
2.2.18
React Native Version
0.81.4
Using New Architecture
Steps to Reproduce
createPicture, drawing many (~1000) elements imperativelyconst texture = usePictureAsTexture(...)<Image image={texture} ... />to draw the texture into a canvasSnack, Code Example, Screenshot, or Link to Repository
I'll follow up with a MRE if I can, but I'd like to get this filed as the cause may be clear enough :).