Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash in com.facebook.react.JavaScript Thread on iOS with react-native-webgpu Integration incompatible with nitro-modules async functions #179

Open
psquizzle opened this issue Nov 6, 2024 · 2 comments

Comments

@psquizzle
Copy link

There appears to be some issue related to the interaction between react-native-wgpu and async functions implemented through react-native-nitro-modules. Perhaps due to modifications made in how nitro modules work since the prerelease version of this package.

Any nitro-module async function called after the web GPU canvas has been loaded will cause a crash (see the trace below).

Here is a minimal reproducible example -> https://github.com/psquizzle/wgpu-nitro-issue.git
Simply navigate the the 3rd tab and the setTimeout witll call

std::future<std::string> HybridDATA::retrieveStringAsyncTest()
{
    return std::async(std::launch::async, []()
                      { return std::string("test"); });
}

And cause the app to crash.

Crash Stack Trace
Thread 17 Crashed:: com.facebook.react.JavaScript 0 libsystem_kernel.dylib 0x19d956600 __pthread_kill + 8 1 libsystem_pthread.dylib 0x19d98ef70 pthread_kill + 288 2 libsystem_c.dylib 0x19d89b908 abort + 128 3 libsystem_c.dylib 0x19d89ac1c __assert_rtn + 284 4 wgpunitroissue 0x105a1bf2c std::__1::shared_ptr<margelo::Dispatcher> facebook::jsi::Object::getNativeState<margelo::Dispatcher>(facebook::jsi::Runtime&) const + 84 (jsi-inl.h:220) 5 wgpunitroissue 0x105a1bbd4 margelo::Dispatcher::getRuntimeGlobalDispatcher(facebook::jsi::Runtime&) + 332 (Dispatcher.cpp:47) 6 wgpunitroissue 0x105c8da80 margelo::JSIConverter<std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>&&) + 72 (RNFJSIConverter.h:213) 7 wgpunitroissue 0x105c8d908 facebook::jsi::Value margelo::HybridObject::callMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>, 0ul>(rnwgpu::GPU*, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), facebook::jsi::Runtime&, facebook::jsi::Value const*, std::__1::integer_sequence<unsigned long, 0ul>, unsigned long) + 248 (RNFHybridObject.h:97) 8 wgpunitroissue 0x105c8d804 std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(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 + 88 (RNFHybridObject.h:112) 9 wgpunitroissue 0x105c8d7a0 decltype(std::declval<rnwgpu::GPU>()(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:de180100]<std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(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>(rnwgpu::GPU&&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:344) 10 wgpunitroissue 0x105c8d728 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de180100]<std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(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>(std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(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&&) + 64 (invoke.h:411) 11 wgpunitroissue 0x105c8d6dc std::__1::__function::__alloc_func<std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::allocator<std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:169) 12 wgpunitroissue 0x105c8c6bc std::__1::__function::__func<std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::allocator<std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)> margelo::HybridObject::createHybridMethod<rnwgpu::GPU, std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>>, std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>>(std::__1::future<std::__1::variant<std::nullptr_t, std::__1::shared_ptr<rnwgpu::GPUAdapter>>> (rnwgpu::GPU::*)(std::__1::optional<std::__1::shared_ptr<rnwgpu::GPURequestAdapterOptions>>), rnwgpu::GPU*)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>, 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:311) 13 wgpunitroissue 0x104f35dc4 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 112 (function.h:428) 14 wgpunitroissue 0x104f35d24 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:981) 15 wgpunitroissue 0x105171034 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36) 16 wgpunitroissue 0x105170fd4 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:de180100]<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:344) 17 wgpunitroissue 0x105170f5c facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de180100]<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:411) 18 wgpunitroissue 0x105170f10 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:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:169) 19 wgpunitroissue 0x10516fca8 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:311) 20 hermes 0x109ef36a8 facebook::hermes::HermesRuntimeImpl::HFContext::func(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 536 21 hermes 0x109f63fec hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144 22 hermes 0x109f7de20 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2280 23 hermes 0x109f7d504 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132 24 hermes 0x109f64de0 hermes::vm::GeneratorInnerFunction::callInnerFunction(hermes::vm::Handle<hermes::vm::GeneratorInnerFunction>, hermes::vm::Runtime&, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::GeneratorInnerFunction::Action) + 576 25 hermes 0x109ff5d50 hermes::vm::generatorPrototypeNext(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 384 26 hermes 0x109f63fec hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144 27 hermes 0x109f7de20 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2280 28 hermes 0x109f7d504 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132 29 hermes 0x109f64de0 hermes::vm::GeneratorInnerFunction::callInnerFunction(hermes::vm::Handle<hermes::vm::GeneratorInnerFunction>, hermes::vm::Runtime&, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::GeneratorInnerFunction::Action) + 576 30 hermes 0x109ff5d50 hermes::vm::generatorPrototypeNext(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 384 31 hermes 0x109f63fec hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144 32 hermes 0x109f7de20 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2280 33 hermes 0x109f7d504 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132 34 hermes 0x109f642a8 hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40 35 hermes 0x109eeb42c facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 724 36 wgpunitroissue 0x10516dfdc 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:347) 37 wgpunitroissue 0x1059109a8 facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 88 (decorator.h:764) 38 wgpunitroissue 0x104ef1548 facebook::jsi::Function::call(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 100 (jsi-inl.h:264) 39 wgpunitroissue 0x104ef14d8 facebook::jsi::Function::call(facebook::jsi::Runtime&, std::initializer_list<facebook::jsi::Value>) const + 112 (jsi-inl.h:269) 40 wgpunitroissue 0x1059bc530 facebook::react::Task::execute(facebook::jsi::Runtime&, bool) + 296 (Task.cpp:45) 41 wgpunitroissue 0x105997a3c facebook::react::RuntimeScheduler_Legacy::executeTask(facebook::jsi::Runtime&, std::__1::shared_ptr<facebook::react::Task> const&, bool) + 164 (RuntimeScheduler_Legacy.cpp:204) 42 wgpunitroissue 0x105998320 facebook::react::RuntimeScheduler_Legacy::startWorkLoop(facebook::jsi::Runtime&) + 456 (RuntimeScheduler_Legacy.cpp:182) 43 wgpunitroissue 0x1059a3564 facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0::operator()(facebook::jsi::Runtime&) const + 60 (RuntimeScheduler_Legacy.cpp:161) 44 wgpunitroissue 0x1059a351c decltype(std::declval<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0&>()(std::declval<facebook::jsi::Runtime&>())) std::__1::__invoke[abi:de180100]<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0&, facebook::jsi::Runtime&>(facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0&, facebook::jsi::Runtime&) + 32 (invoke.h:344) 45 wgpunitroissue 0x1059a34cc void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0&, facebook::jsi::Runtime&>(facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0&, facebook::jsi::Runtime&) + 32 (invoke.h:419) 46 wgpunitroissue 0x1059a34a0 std::__1::__function::__alloc_func<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0, std::__1::allocator<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0>, void (facebook::jsi::Runtime&)>::operator()[abi:de180100](facebook::jsi::Runtime&) + 36 (function.h:169) 47 wgpunitroissue 0x1059a232c std::__1::__function::__func<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0, std::__1::allocator<facebook::react::RuntimeScheduler_Legacy::scheduleWorkLoopIfNecessary()::$_0>, void (facebook::jsi::Runtime&)>::operator()(facebook::jsi::Runtime&) + 36 (function.h:311) 48 wgpunitroissue 0x104f0b96c std::__1::__function::__value_func<void (facebook::jsi::Runtime&)>::operator()[abi:de180100](facebook::jsi::Runtime&) const + 76 (function.h:428) 49 wgpunitroissue 0x104f0b554 std::__1::function<void (facebook::jsi::Runtime&)>::operator()(facebook::jsi::Runtime&) const + 32 (function.h:981) 50 wgpunitroissue 0x1057928a8 RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()::operator()() const + 724 (RCTSurfacePresenterBridgeAdapter.mm:75) 51 wgpunitroissue 0x1057925c8 decltype(std::declval<RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()&>()()) std::__1::__invoke[abi:de180100]<RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()&>(RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()&) + 24 (invoke.h:344) 52 wgpunitroissue 0x105792580 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()&>(RCTRuntimeExecutorFromBridge(RCTBridge*)::$_0::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const::'lambda'()&) + 24 (invoke.h:419) 53 wgpunitroissue 0x10579255c std::__1::__function::__alloc_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()[abi:de180100]() + 28 (function.h:169) 54 wgpunitroissue 0x1057912f8 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()() + 28 (function.h:311) 55 wgpunitroissue 0x104ef1fbc std::__1::__function::__value_func<void ()>::operator()[abi:de180100]() const + 68 (function.h:428) 56 wgpunitroissue 0x104ef1f6c std::__1::function<void ()>::operator()() const + 24 (function.h:981) 57 wgpunitroissue 0x1058c79bc facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0::operator()(facebook::react::JSExecutor*) const + 28 (Instance.cpp:319) 58 wgpunitroissue 0x1058c7994 decltype(std::declval<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0&>()(std::declval<facebook::react::JSExecutor*>())) std::__1::__invoke[abi:de180100]<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0&, facebook::react::JSExecutor*>(facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0&, facebook::react::JSExecutor*&&) + 36 (invoke.h:344) 59 wgpunitroissue 0x1058c7940 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0&, facebook::react::JSExecutor*>(facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0&, facebook::react::JSExecutor*&&) + 32 (invoke.h:419) 60 wgpunitroissue 0x1058c7914 std::__1::__function::__alloc_func<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0, std::__1::allocator<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0>, void (facebook::react::JSExecutor*)>::operator()[abi:de180100](facebook::react::JSExecutor*&&) + 36 (function.h:169) 61 wgpunitroissue 0x1058c66f8 std::__1::__function::__func<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0, std::__1::allocator<facebook::react::Instance::JSCallInvoker::scheduleAsync(std::__1::function<void ()>&&)::$_0>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 36 (function.h:311) 62 wgpunitroissue 0x1058eed64 std::__1::__function::__value_func<void (facebook::react::JSExecutor*)>::operator()[abi:de180100](facebook::react::JSExecutor*&&) const + 76 (function.h:428) 63 wgpunitroissue 0x1058eece4 std::__1::function<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*) const + 36 (function.h:981) 64 wgpunitroissue 0x1058eecb0 facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0::operator()() const + 92 (NativeToJsBridge.cpp:308) 65 wgpunitroissue 0x1058eec48 decltype(std::declval<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&>()()) std::__1::__invoke[abi:de180100]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&) + 24 (invoke.h:344) 66 wgpunitroissue 0x1058eec00 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&) + 24 (invoke.h:419) 67 wgpunitroissue 0x1058eebdc std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0>, void ()>::operator()[abi:de180100]() + 28 (function.h:169) 68 wgpunitroissue 0x1058ed784 std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0>, void ()>::operator()() + 28 (function.h:311) 69 wgpunitroissue 0x104ef1fbc std::__1::__function::__value_func<void ()>::operator()[abi:de180100]() const + 68 (function.h:428) 70 wgpunitroissue 0x104ef1f6c std::__1::function<void ()>::operator()() const + 24 (function.h:981) 71 wgpunitroissue 0x1052a0d30 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 24 (RCTCxxUtils.mm:73) 72 wgpunitroissue 0x1052c9fb8 facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 36 (RCTMessageThread.mm:68) 73 wgpunitroissue 0x1052cea8c facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0::operator()() const + 80 (RCTMessageThread.mm:81) 74 wgpunitroissue 0x1052cea30 decltype(std::declval<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&>()()) std::__1::__invoke[abi:de180100]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&) + 24 (invoke.h:344) 75 wgpunitroissue 0x1052ce9e8 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&) + 24 (invoke.h:419) 76 wgpunitroissue 0x1052ce9c4 std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0>, void ()>::operator()[abi:de180100]() + 28 (function.h:169) 77 wgpunitroissue 0x1052cd6e4 std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0>, void ()>::operator()() + 28 (function.h:311) 78 wgpunitroissue 0x104ef1fbc std::__1::__function::__value_func<void ()>::operator()[abi:de180100]() const + 68 (function.h:428) 79 wgpunitroissue 0x104ef1f6c std::__1::function<void ()>::operator()() const + 24 (function.h:981) 80 wgpunitroissue 0x1052c9d50 invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 48 (RCTMessageThread.mm:44) 81 CoreFoundation 0x19da75fa0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28 82 CoreFoundation 0x19da75eb0 __CFRunLoopDoBlocks + 356 83 CoreFoundation 0x19da75330 __CFRunLoopRun + 2432 84 CoreFoundation 0x19da74334 CFRunLoopRunSpecific + 572 85 wgpunitroissue 0x105278388 +[RCTCxxBridge runRunLoop] + 736 (RCTCxxBridge.mm:326) 86 Foundation 0x19ec2c844 __NSThread__start__ + 724 87 libsystem_pthread.dylib 0x19d98f2e4 _pthread_start + 136 88 libsystem_pthread.dylib 0x19d98a0fc thread_start + 8

"dependencies": {
"@expo/vector-icons": "^14.0.2",
"@react-navigation/native": "^6.0.2",
"dddt-nitro": "./dddt-nitro/",
"expo": "~51.0.28",
"expo-build-properties": "^0.12.5",
"expo-constants": "~16.0.2",
"expo-font": "~12.0.9",
"expo-linking": "~6.3.1",
"expo-router": "~3.5.23",
"expo-splash-screen": "~0.27.5",
"expo-status-bar": "~1.12.1",
"expo-system-ui": "~3.0.7",
"expo-web-browser": "~13.0.3",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-native": "0.74.5",
"react-native-gesture-handler": "~2.16.1",
"react-native-nitro-modules": "^0.14.1",
"react-native-reanimated": "~3.10.1",
"react-native-safe-area-context": "4.10.5",
"react-native-screens": "3.31.1",
"react-native-web": "~0.19.10",
"react-native-wgpu": "^0.1.19"
},

@psquizzle psquizzle changed the title Issue Title: Crash in com.facebook.react.JavaScript Thread on iOS with react-native-webgpu Integration Crash in com.facebook.react.JavaScript Thread on iOS with react-native-webgpu Integration Nov 6, 2024
@psquizzle psquizzle changed the title Crash in com.facebook.react.JavaScript Thread on iOS with react-native-webgpu Integration Crash in com.facebook.react.JavaScript Thread on iOS with react-native-webgpu Integration incompatible with nitro-modules async functions Nov 6, 2024
@wcandillon
Copy link
Owner

Thank you for reporting this, I couldn't reproduce the crash based on your repo? Can you provide me more info on how to reproduce it?

@psquizzle
Copy link
Author

Hello William, Great work on this library and open source rn generally! Thank you for getting back to me on this. I have updated the repo to use the latest nitro setup as well as nitro Promises to see if this is still an issue and it appears to be. The crash happens every time I navigate to the "wgpu" tab wait 5 seconds (for the setTimeout) and then the async nitro function will be called. This only occurs in a development build. If I build a release build at least for iOS it works as expected (did not test android).

I don't know if this is a wgpu issue or nitro itself as both work when operating independently. Interestingly if I remove the file that imports the web GPU view and place it back after a nitro async function has been called it also works.

So to reproduce build the repo with target development. Navigate to the wgpu tab the view will load and after 5 seconds it will attempt to the async function and crash with the following error report.

Thread 8 Crashed:: com.facebook.react.JavaScript
0 libsystem_kernel.dylib 0x18cf66600 __pthread_kill + 8
1 libsystem_pthread.dylib 0x18cf9ef70 pthread_kill + 288
2 libsystem_c.dylib 0x18ceab908 abort + 128
3 libsystem_c.dylib 0x18ceaac1c __assert_rtn + 284
4 wgpunitroissue 0x104348d84 std::__1::shared_ptrmargelo::nitro::Dispatcher facebook::jsi::Object::getNativeStatemargelo::nitro::Dispatcher(facebook::jsi::Runtime&) const + 84 (jsi-inl.h:220)
5 wgpunitroissue 0x104348a50 margelo::nitro::Dispatcher::getRuntimeGlobalDispatcher(facebook::jsi::Runtime&) + 348 (Dispatcher.cpp:41)
6 wgpunitroissue 0x104190564 margelo::nitro::JSIConverter<std::__1::function<void (std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>)>, void>::fromJSI(facebook::jsi::Runtime&, facebook::jsi::Value const&) + 124 (JSIConverter+Function.hpp:40)
7 wgpunitroissue 0x10419033c margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(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 + 84 (JSIConverter+Promise.hpp:64)
8 wgpunitroissue 0x1041902dc decltype(std::declval<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)&>()(std::declvalfacebook::jsi::Runtime&(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval())) std::__1::__invoke[abi:de180100]<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(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>(margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(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&&) + 72 (invoke.h:344)
9 wgpunitroissue 0x104190264 facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de180100]<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(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>(margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(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&&) + 64 (invoke.h:411)
10 wgpunitroissue 0x104190218 std::__1::__function::__alloc_func<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::allocator<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:169)
11 wgpunitroissue 0x10418ee4c std::__1::__function::__func<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long), std::__1::allocator<margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>, 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:311)
12 wgpunitroissue 0x104265db4 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 112 (function.h:428)
13 wgpunitroissue 0x104265d14 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:981)
14 wgpunitroissue 0x1044a0c94 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36)
15 wgpunitroissue 0x1044a0c34 decltype(std::declvalfacebook::jsi::DecoratedHostFunction&()(std::declvalfacebook::jsi::Runtime&(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval())) std::__1::__invoke[abi:de180100]<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:344)
16 wgpunitroissue 0x1044a0bbc facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de180100]<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:411)
17 wgpunitroissue 0x1044a0b70 std::__1::__function::__alloc_func<facebook::jsi::DecoratedHostFunction, std::__1::allocatorfacebook::jsi::DecoratedHostFunction, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:169)
18 wgpunitroissue 0x10449f908 std::__1::__function::__func<facebook::jsi::DecoratedHostFunction, std::__1::allocatorfacebook::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:311)
19 hermes 0x109540f1c facebook::hermes::HermesRuntimeImpl::HFContext::func(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 536
20 hermes 0x1095eda54 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
21 hermes 0x109607470 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2276
22 hermes 0x109606b58 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
23 hermes 0x1095edd28 hermes::vm::JSFunction::_callImpl(hermes::vm::Handlehermes::vm::Callable, hermes::vm::Runtime&) + 40
24 hermes 0x10953902c facebook::hermes::HermesRuntimeImpl::callAsConstructor(facebook::jsi::Function const&, facebook::jsi::Value const*, unsigned long) + 724
25 wgpunitroissue 0x10449dc8c facebook::jsi::RuntimeDecorator<facebook::jsi::Runtime, facebook::jsi::Runtime>::callAsConstructor(facebook::jsi::Function const&, facebook::jsi::Value const*, unsigned long) + 68 (decorator.h:351)
26 wgpunitroissue 0x104c5ad6c facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::callAsConstructor(facebook::jsi::Function const&, facebook::jsi::Value const*, unsigned long) + 80 (decorator.h:783)
27 wgpunitroissue 0x1041a3188 facebook::jsi::Function::callAsConstructor(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 64 (jsi-inl.h:335)
28 wgpunitroissue 0x1041a30fc facebook::jsi::Function::callAsConstructor(facebook::jsi::Runtime&, std::initializer_listfacebook::jsi::Value) const + 112 (jsi-inl.h:341)
29 wgpunitroissue 0x10418df6c facebook::jsi::Value facebook::jsi::Function::callAsConstructorfacebook::jsi::Function(facebook::jsi::Runtime&, facebook::jsi::Function&&) const + 132 (jsi-inl.h:347)
30 wgpunitroissue 0x10418da74 margelo::nitro::JSIConverter<std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>, void>::toJSI(facebook::jsi::Runtime&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> const&) + 296 (JSIConverter+Promise.hpp:74)
31 wgpunitroissue 0x10418d914 facebook::jsi::Value margelo::nitro::HybridFunction::callMethod<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(margelo::nitro::dddt::HybridDATASpec*, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), facebook::jsi::Runtime&, facebook::jsi::Value const, unsigned long, std::__1::integer_sequence) + 320 (HybridFunction.hpp:163)
32 wgpunitroissue 0x10418d3cc margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(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 + 892 (HybridFunction.hpp:105)
33 wgpunitroissue 0x10418d044 decltype(std::declvalmargelo::nitro::dddt::HybridDATASpec()(std::declvalfacebook::jsi::Runtime&(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval())) std::__1::__invoke[abi:de180100]<margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(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>(margelo::nitro::dddt::HybridDATASpec&&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (invoke.h:344)
34 wgpunitroissue 0x10418cfcc facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de180100]<margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(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>(margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(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&&) + 64 (invoke.h:411)
35 wgpunitroissue 0x10418cf80 std::__1::__function::__alloc_func<margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const, unsigned long), std::__1::allocator<margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const, unsigned long)>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:169)
36 wgpunitroissue 0x10418bd18 std::__1::__function::__func<margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const, unsigned long), std::__1::allocator<margelo::nitro::HybridFunction margelo::nitro::HybridFunction::createHybridFunction<margelo::nitro::dddt::HybridDATASpec, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>>>(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::shared_ptr<margelo::nitro::Promise<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>> (margelo::nitro::dddt::HybridDATASpec::)(), margelo::nitro::FunctionKind)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const, unsigned long)>, 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:311)
37 wgpunitroissue 0x104265db4 std::__1::__function::__value_func<facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) const + 112 (function.h:428)
38 wgpunitroissue 0x104265d14 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:981)
39 wgpunitroissue 0x1044a0c94 facebook::jsi::DecoratedHostFunction::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 84 (decorator.h:36)
40 wgpunitroissue 0x1044a0c34 decltype(std::declvalfacebook::jsi::DecoratedHostFunction&()(std::declvalfacebook::jsi::Runtime&(), std::declval<facebook::jsi::Value const&>(), std::declval<facebook::jsi::Value const*>(), std::declval())) std::__1::__invoke[abi:de180100]<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:344)
41 wgpunitroissue 0x1044a0bbc facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:de180100]<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:411)
42 wgpunitroissue 0x1044a0b70 std::__1::__function::__alloc_func<facebook::jsi::DecoratedHostFunction, std::__1::allocatorfacebook::jsi::DecoratedHostFunction, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:de180100](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) + 72 (function.h:169)
43 wgpunitroissue 0x10449f908 std::__1::__function::__func<facebook::jsi::DecoratedHostFunction, std::__1::allocatorfacebook::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:311)
44 hermes 0x109540f1c facebook::hermes::HermesRuntimeImpl::HFContext::func(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 536
45 hermes 0x1095eda54 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
46 hermes 0x109607470 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2276
47 hermes 0x109606b58 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
48 hermes 0x1095ee860 hermes::vm::GeneratorInnerFunction::callInnerFunction(hermes::vm::Handlehermes::vm::GeneratorInnerFunction, hermes::vm::Runtime&, hermes::vm::Handlehermes::vm::HermesValue, hermes::vm::GeneratorInnerFunction::Action) + 576
49 hermes 0x10967fa94 hermes::vm::generatorPrototypeNext(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 384
50 hermes 0x1095eda54 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
51 hermes 0x109607470 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2276
52 hermes 0x109606b58 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
53 hermes 0x1095edd28 hermes::vm::JSFunction::_callImpl(hermes::vm::Handlehermes::vm::Callable, hermes::vm::Runtime&) + 40
54 hermes 0x1095ec6d0 hermes::vm::Callable::executeCall(hermes::vm::Handlehermes::vm::Callable, hermes::vm::Runtime&, hermes::vm::Handlehermes::vm::HermesValue, hermes::vm::Handlehermes::vm::HermesValue, hermes::vm::Handlehermes::vm::JSObject) + 1348
55 hermes 0x1096abaa8 hermes::vm::functionPrototypeApply(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 320
56 hermes 0x1095eda54 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
57 hermes 0x109607470 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2276
58 hermes 0x109606b58 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
59 hermes 0x1095edd28 hermes::vm::JSFunction::_callImpl(hermes::vm::Handlehermes::vm::Callable, hermes::vm::Runtime&) + 40
60 hermes 0x1095ec6d0 hermes::vm::Callable::executeCall(hermes::vm::Handlehermes::vm::Callable, hermes::vm::Runtime&, hermes::vm::Handlehermes::vm::HermesValue, hermes::vm::Handlehermes::vm::HermesValue, hermes::vm::Handlehermes::vm::JSObject) + 1348
61 hermes 0x1096abaa8 hermes::vm::functionPrototypeApply(void*, hermes::vm::Runtime&, hermes::vm::NativeArgs) + 320
62 hermes 0x1095eda54 hermes::vm::NativeFunction::_nativeCall(hermes::vm::NativeFunction*, hermes::vm::Runtime&) + 144
63 hermes 0x109607470 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 2276
64 hermes 0x109606b58 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 132
65 hermes 0x1095edd28 hermes::vm::JSFunction::_callImpl(hermes::vm::Handlehermes::vm::Callable, hermes::vm::Runtime&) + 40
66 hermes 0x1095ed578 hermes::vm::BoundFunction::_boundCall(hermes::vm::BoundFunction*, hermes::inst::Inst const*, hermes::vm::Runtime&) + 568
67 hermes 0x109538c9c facebook::hermes::HermesRuntimeImpl::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 744
68 wgpunitroissue 0x10449dc3c 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:347)
69 wgpunitroissue 0x104c5ace4 facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::call(facebook::jsi::Function const&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) + 88 (decorator.h:778)
70 wgpunitroissue 0x1041a369c facebook::jsi::Function::call(facebook::jsi::Runtime&, facebook::jsi::Value const*, unsigned long) const + 100 (jsi-inl.h:264)
71 wgpunitroissue 0x1041a3614 facebook::jsi::Function::call(facebook::jsi::Runtime&, std::initializer_listfacebook::jsi::Value) const + 112 (jsi-inl.h:269)
72 wgpunitroissue 0x104c8e1f0 facebook::jsi::Value facebook::jsi::Function::call<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, facebook::jsi::Value>(facebook::jsi::Runtime&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, facebook::jsi::Value&&) const + 228 (jsi-inl.h:277)
73 wgpunitroissue 0x104c8e09c facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0::operator()() const + 140 (JSIExecutor.cpp:234)
74 wgpunitroissue 0x104c8e004 decltype(std::declval<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0&>()()) std::__1::__invoke[abi:de180100]<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0&>(facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0&) + 24 (invoke.h:344)
75 wgpunitroissue 0x104c8dfbc void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0&>(facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0&) + 24 (invoke.h:419)
76 wgpunitroissue 0x104c8df98 std::__1::__function::__alloc_func<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0, std::__1::allocator<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0>, void ()>::operator()abi:de180100 + 28 (function.h:169)
77 wgpunitroissue 0x104c8cfa8 std::__1::__function::__func<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0, std::__1::allocator<facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&)::$_0>, void ()>::operator()() + 28 (function.h:311)
78 wgpunitroissue 0x10421ecf8 std::__1::__function::__value_func<void ()>::operator()abi:de180100 const + 68 (function.h:428)
79 wgpunitroissue 0x10421eca8 std::__1::function<void ()>::operator()() const + 24 (function.h:981)
80 wgpunitroissue 0x1045aa2b4 facebook::react::JSIExecutor::defaultTimeoutInvoker(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>) + 28 (JSIExecutor.h:107)
81 wgpunitroissue 0x1045abc10 decltype(std::declval<void (&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>()(std::declval<std::__1::function<void ()> const&>(), std::declval<std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>>())) std::__1::__invoke[abi:de180100]<void (&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>>(void (&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>&&) + 92 (invoke.h:344)
82 wgpunitroissue 0x1045abb84 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<void (
&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>>(void (&)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>), std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>&&) + 40 (invoke.h:419)
83 wgpunitroissue 0x1045abb50 std::__1::__function::__alloc_func<void (
)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>), std::__1::allocator<void ()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>, void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>::operator()[abi:de180100](std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>&&) + 44 (function.h:169)
84 wgpunitroissue 0x1045aa9b4 std::__1::__function::__func<void (
)(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>), std::__1::allocator<void ()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>, void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>&&) + 44 (function.h:311)
85 wgpunitroissue 0x104c8c69c std::__1::__function::__value_func<void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>::operator()[abi:de180100](std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>&&) const + 84 (function.h:428)
86 wgpunitroissue 0x104c80784 std::__1::function<void (std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>)>::operator()(std::__1::function<void ()> const&, std::__1::function<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> ()>) const + 40 (function.h:981)
87 wgpunitroissue 0x104c80384 facebook::react::JSIExecutor::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, folly::dynamic const&) + 316 (JSIExecutor.cpp:232)
88 wgpunitroissue 0x104c22028 facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0::operator()(facebook::react::JSExecutor
) const + 636 (NativeToJsBridge.cpp:205)
89 wgpunitroissue 0x104c21da0 decltype(std::declval<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0&>()(std::declvalfacebook::react::JSExecutor*())) std::__1::__invoke[abi:de180100]<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0&, facebook::react::JSExecutor*&&) + 36 (invoke.h:344)
90 wgpunitroissue 0x104c21d4c void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0&, facebook::react::JSExecutor*&&) + 32 (invoke.h:419)
91 wgpunitroissue 0x104c21d20 std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0>, void (facebook::react::JSExecutor*)>::operator()abi:de180100 + 36 (function.h:169)
92 wgpunitroissue 0x104c20a28 std::__1::__function::__func<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>&&, folly::dynamic&&)::$_0>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) + 36 (function.h:311)
93 wgpunitroissue 0x104c2caa4 std::__1::__function::__value_func<void (facebook::react::JSExecutor*)>::operator()abi:de180100 const + 76 (function.h:428)
94 wgpunitroissue 0x104c2ca24 std::__1::function<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*) const + 36 (function.h:981)
95 wgpunitroissue 0x104c2c9f0 facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0::operator()() const + 92 (NativeToJsBridge.cpp:308)
96 wgpunitroissue 0x104c2c988 decltype(std::declval<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&>()()) std::__1::__invoke[abi:de180100]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&) + 24 (invoke.h:344)
97 wgpunitroissue 0x104c2c940 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0&) + 24 (invoke.h:419)
98 wgpunitroissue 0x104c2c91c std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0>, void ()>::operator()abi:de180100 + 28 (function.h:169)
99 wgpunitroissue 0x104c2b4c4 std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_0>, void ()>::operator()() + 28 (function.h:311)
100 wgpunitroissue 0x10421ecf8 std::__1::__function::__value_func<void ()>::operator()abi:de180100 const + 68 (function.h:428)
101 wgpunitroissue 0x10421eca8 std::__1::function<void ()>::operator()() const + 24 (function.h:981)
102 wgpunitroissue 0x1045bde00 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 24 (RCTCxxUtils.mm:73)
103 wgpunitroissue 0x1045e715c facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 36 (RCTMessageThread.mm:68)
104 wgpunitroissue 0x1045ebc30 facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0::operator()() const + 80 (RCTMessageThread.mm:81)
105 wgpunitroissue 0x1045ebbd4 decltype(std::declval<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&>()()) std::__1::__invoke[abi:de180100]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&) + 24 (invoke.h:344)
106 wgpunitroissue 0x1045ebb8c void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:de180100]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0&) + 24 (invoke.h:419)
107 wgpunitroissue 0x1045ebb68 std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0>, void ()>::operator()abi:de180100 + 28 (function.h:169)
108 wgpunitroissue 0x1045ea888 std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_0>, void ()>::operator()() + 28 (function.h:311)
109 wgpunitroissue 0x10421ecf8 std::__1::__function::__value_func<void ()>::operator()abi:de180100 const + 68 (function.h:428)
110 wgpunitroissue 0x10421eca8 std::__1::function<void ()>::operator()() const + 24 (function.h:981)
111 wgpunitroissue 0x1045e6ef4 invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 48 (RCTMessageThread.mm:44)
112 CoreFoundation 0x18d085fa0 CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK + 28
113 CoreFoundation 0x18d085eb0 __CFRunLoopDoBlocks + 356
114 CoreFoundation 0x18d085330 __CFRunLoopRun + 2432
115 CoreFoundation 0x18d084334 CFRunLoopRunSpecific + 572
116 wgpunitroissue 0x10459537c +[RCTCxxBridge runRunLoop] + 736 (RCTCxxBridge.mm:328)
117 Foundation 0x18e23c844 NSThread__start + 724
118 libsystem_pthread.dylib 0x18cf9f2e4 _pthread_start + 136
119 libsystem_pthread.dylib 0x18cf9a0fc thread_start + 8

Thread 9:: hades
0 libsystem_kernel.dylib 0x18cf615cc __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x18cf9f894 _pthread_cond_wait + 1204
2 libc++.1.dylib 0x18ced5578 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 28
3 hermes 0x1096cebbc hermes::vm::HadesGC::Executor::worker() + 112
4 hermes 0x1096ceb20 void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, hermes::vm::HadesGC::Executor::Executor()::'lambda'()>>(void*) + 44
5 libsystem_pthread.dylib 0x18cf9f2e4 _pthread_start + 136
6 libsystem_pthread.dylib 0x18cf9a0fc thread_start + 8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants