Git Product home page Git Product logo

Comments (29)

mrousavy avatar mrousavy commented on September 26, 2024 3

But it's so weird that it works with the Worklets.defaultContext but not the custom context we create. We'll maybe look into this soon, let's see. If you want this issue prioritized consider contacting us thru the consulting agency, this will only take a few hours to fix.

from react-native-vision-camera.

IvanByRool avatar IvanByRool commented on September 26, 2024 3

Hey,

I'm wondering if there is a fix or workaround for the problems with runAsync ?

I'm getting randomly RNWorklet::JsiWorklet::getCode while using it with ios.

I couldn't find a solution for this yet, did I miss something ?

If you need logs or anything to help you debug, let me know what you need.

Thanks a lot,
Ivan

from react-native-vision-camera.

jodrescher avatar jodrescher commented on September 26, 2024 2

I am looking at the code and I don't really see where the initialization is different, are you 100% sure that it works with the Worklets.defaultContext, but doesn't work with the Worklets.createContext('VisionCamera.async')?

And does this crash on iOS as well, or only Android?

I have now tested the Example app again on a Samsung A55 (Android 14), a Samsung A41 (Android 12) and an iPhone 12 mini (iOS 17.4.1). The same result on all devices, everything works in debug mode, even with β€œWorklets.createContext(β€˜VisionCamera.async’)”. In release mode, however, the app crashes. If I change to β€œWorklets.defaultContext” it works on all devices, even in release mode.

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024 1

Ah nevermind you just posted error messages this second lol

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024 1

Just to clarify; this works fine in Debug, but fails in Release?

from react-native-vision-camera.

tfcornerstone avatar tfcornerstone commented on September 26, 2024 1

@mrousavy The following is causing issues in runAsync, it resolves when you get rid of visionCameraProcessorPlugin.call. It seems visionCameraProcessorPlugin.call works perfectly fine in default context, but not as expected in VisionCamera.async.

The only difference between default context and VisionCamera.async context I noticed is the fact that workletInvoker uses different dispatch Queues. I am assuming if something does go wrong on the custom dispatch queue on the VisionCameraProxyDelegate, it will stop calling the frameProcessor...which is why runAsync does not execute...or app crashes.

Potentially related: margelo/react-native-worklets-core#186

visionCameraProcessorPlugin.call is called within a worklet, if it does happen to error out. The errors are swallowed.

Edit:

Furthermore, it breaks when _plugin is called and has no empty result for first few times...

https://github.com/mrousavy/react-native-vision-camera/blob/main/package/ios/FrameProcessors/FrameProcessorPluginHostObject.mm#L50-L53

Funny, JS renders the results for 2-3 frames then the frame Processor stops executing. But the issue is not the rerender of the view. It stops 2-3 frames after the result is not an empty array regardless of rerendering.

Tested using npx expo run:ios on iPhone 15 Pro Max, this might be a separate issue relating to iOS

var visionCameraProcessorPlugin = VisionCameraProxy.initFrameProcessorPlugin(
  MODULE_NAME
);

var scanCodes = (frame, options) => {
  "worklet";
  if (visionCameraProcessorPlugin == null) {
    throw new Error(`Failed to load Frame Processor Plugin "${MODULE_NAME}"!`);
  }
  frame.incrementRefCount && frame.incrementRefCount();
  const nativeCodes = visionCameraProcessorPlugin.call(
    frame,
    options
  );
  frame.decrementRefCount && frame.decrementRefCount();
  if (!Array.isArray(nativeCodes)) {
    console.log(
      `Native frame processor ${MODULE_NAME} failed to return a proper array!`,
      nativeCodes
    );
    return [];
  }
  return nativeCodes.slice().map((nativeBarcode) => normalizeNativeBarcode(nativeBarcode, frame));
};

const frameProcessor = useFrameProcessor(
        (frame) => {
            //Context: VisionCamera
            'worklet'
            runAsync(frame, () => {
                //Context: VisionCamera.async
                'worklet'
                const barcodes = scanCodes(frame, options);
                if (barcodes.length > 0) {
                    onBarcodeScannedJS(barcodes);
                }
            });

        },
        [],
    );

from react-native-vision-camera.

mrEuler avatar mrEuler commented on September 26, 2024 1

I have same issue with useSkiaFrameProcessor and runAsync worklet inside. Witht the debug mode everything works, but with a release mode -- 9/10 times have crashes. SkiaFrameProcessor by itslef works fine, I think I have in a runAsync issue.

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

no other log output or errors or something corresponding to the async function

I need log outputs or error messages or anything. Please post those, otherwise I cannot help you. On Android, use adb logcat.

from react-native-vision-camera.

jodrescher avatar jodrescher commented on September 26, 2024

Just to clarify; this works fine in Debug, but fails in Release?

Yes, exactly, I had this with older versions of vision-camera and worklets-core too and hoped that the current version would fix it.

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

I am looking at the code and I don't really see where the initialization is different, are you 100% sure that it works with the Worklets.defaultContext, but doesn't work with the Worklets.createContext('VisionCamera.async')?

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

And does this crash on iOS as well, or only Android?

from react-native-vision-camera.

luicfrr avatar luicfrr commented on September 26, 2024

@mrousavy This issue is related to #2589 and also this worklets-core issue.

On old worklets-core version (0.4.0), creating context with Worklets.createRunInContextFn( func, 'AnyStringValue' ) also prevents app from crashing.

And does this crash on iOS as well, or only Android?

I tested it only on android. I'll test on IOS and provide you a feedback.

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

This is so weird. I mean we definitely want a separate Context in case you are using react-native-worklets-core for something else (which is usually the default context), so not sure why this is happening.

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

Hey - I spent a little time investigating the parallel memory allocations and actually found & fixed a bug! Try this and see if this fixes your issue: #2829

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

For me, runAsync runs perfectly fine now

from react-native-vision-camera.

jodrescher avatar jodrescher commented on September 26, 2024

Hey - I spent a little time investigating the parallel memory allocations and actually found & fixed a bug! Try this and see if this fixes your issue: #2829

I tested it with the current clean repo version and it sometimes works on iOS, but most of the time the app crashes (9 out of 10 cases). The fix is only for iOS? I get the following error message in XCode: Thread 9: EXC_BAD_ACCESS (code=1, address=0x80000000000000d0)

Thread 9 Queue : mrousavy/VisionCamera.video (serial)
#0	0x0000000102fcd4c4 in long std::__1::__libcpp_atomic_refcount_increment[abi:ue170006]<long>(long&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:106
#1	0x0000000102fcd4c4 in std::__1::__shared_weak_count::__add_weak[abi:ue170006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:210
#2	0x0000000102fcd4c0 in std::__1::weak_ptr<RNWorklet::JsiWorkletContext>::weak_ptr(std::__1::weak_ptr<RNWorklet::JsiWorkletContext> const&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:1722
#3	0x0000000102fcd4b4 in std::__1::weak_ptr<RNWorklet::JsiWorkletContext>::weak_ptr(std::__1::weak_ptr<RNWorklet::JsiWorkletContext> const&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:1720
#4	0x0000000102fcd4b4 in std::__1::enable_shared_from_this<RNWorklet::JsiWorkletContext>::weak_from_this[abi:ue170006]() [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__memory/shared_ptr.h:1963
#5	0x0000000102fcd4b4 in RNWorklet::JsiWorkletContext::invokeOnWorkletThread(std::__1::function<void (RNWorklet::JsiWorkletContext*, facebook::jsi::Runtime&)>&&) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp:146
#6	0x0000000102fd631c in RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda'(std::__1::function<void (facebook::jsi::Runtime&)>&&)::operator()(std::__1::function<void (facebook::jsi::Runtime&)>&&) const [inlined] at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp:309
#7	0x0000000102fd62cc in RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)::operator()(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>) const [inlined] at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp:344
#8	0x0000000102fd618c in decltype(std::declval<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)&>()(std::declval<facebook::jsi::Runtime&>(), std::declval<std::__1::shared_ptr<RNWorklet::PromiseParameter>>())) std::__1::__invoke[abi:ue170006]<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)&, facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>>(RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)&, facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__type_traits/invoke.h:340
#9	0x0000000102fd6184 in void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)&, facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>>(RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)&, facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__type_traits/invoke.h:415
#10	0x0000000102fd6184 in std::__1::__function::__alloc_func<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>), std::__1::allocator<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>, void (facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>::operator()[abi:ue170006](facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__functional/function.h:193
#11	0x0000000102fd6184 in std::__1::__function::__func<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>), std::__1::allocator<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const::'lambda0'(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>, void (facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>::operator()(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>&&) at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__functional/function.h:364
#12	0x0000000102fc3138 in std::__1::__function::__value_func<void (facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>::operator()[abi:ue170006](facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>&&) const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__functional/function.h:518
#13	0x0000000102fc311c in std::__1::function<void (facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>::operator()(facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>) const [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__functional/function.h:1169
#14	0x0000000102fc311c in RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__1::function<void (facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:31
#15	0x0000000102fc3028 in RNWorklet::JsiPromiseWrapper::createPromiseWrapper(facebook::jsi::Runtime&, std::__1::function<void (facebook::jsi::Runtime&, std::__1::shared_ptr<RNWorklet::PromiseParameter>)>) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:18
#16	0x0000000102fd4d4c in RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) const [inlined] at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp:338
#17	0x0000000102fd4b74 in decltype(std::declval<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5&>()(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:ue170006]<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__type_traits/invoke.h:340
#18	0x0000000102fd4b6c in facebook::jsi::Value std::__1::__invoke_void_return_wrapper<facebook::jsi::Value, false>::__call[abi:ue170006]<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long>(RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5&, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__type_traits/invoke.h:407
#19	0x0000000102fd4b6c in std::__1::__function::__alloc_func<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5, std::__1::allocator<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long)>::operator()[abi:ue170006](facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned long&&) [inlined] at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__functional/function.h:193
#20	0x0000000102fd4b6c in std::__1::__function::__func<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5, std::__1::allocator<RNWorklet::JsiWorkletContext::createCallInContext(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWorkletContext*)::$_5>, 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&&) at /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.4.sdk/usr/include/c++/v1/__functional/function.h:364
#21	0x0000000123b95480 in ___lldb_unnamed_symbol838 ()
#22	0x0000000123ba8d70 in ___lldb_unnamed_symbol1219 ()
#23	0x0000000123bc7da8 in ___lldb_unnamed_symbol1739 ()
#24	0x0000000123bc72b4 in ___lldb_unnamed_symbol1738 ()
#25	0x0000000123ba9018 in ___lldb_unnamed_symbol1225 ()
#26	0x0000000123b8ddd4 in ___lldb_unnamed_symbol680 ()
#27	0x0000000102e92b90 in facebook::jsi::Function::callWithThis(facebook::jsi::Runtime&, facebook::jsi::Object const&, facebook::jsi::Value const*, unsigned long) const [inlined] at ../react-native-vision-camera/package/example/ios/Pods/Headers/Public/hermes-engine/jsi/jsi-inl.h:280
#28	0x0000000102e92b50 in RNWorklet::JsiWorklet::call(std::__1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorklet.h:219
#29	0x0000000102e92234 in RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorklet.h:369
#30	0x0000000123b95480 in ___lldb_unnamed_symbol838 ()
#31	0x0000000123ba8d70 in ___lldb_unnamed_symbol1219 ()
#32	0x0000000123bc7da8 in ___lldb_unnamed_symbol1739 ()
#33	0x0000000123bc72b4 in ___lldb_unnamed_symbol1738 ()
#34	0x0000000123ba9018 in ___lldb_unnamed_symbol1225 ()
#35	0x0000000123b8ddd4 in ___lldb_unnamed_symbol680 ()
#36	0x0000000102e92b90 in facebook::jsi::Function::callWithThis(facebook::jsi::Runtime&, facebook::jsi::Object const&, facebook::jsi::Value const*, unsigned long) const [inlined] at ../react-native-vision-camera/package/example/ios/Pods/Headers/Public/hermes-engine/jsi/jsi-inl.h:280
#37	0x0000000102e92b50 in RNWorklet::JsiWorklet::call(std::__1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorklet.h:219
#38	0x0000000102e92234 in RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorklet.h:369
#39	0x0000000123b95480 in ___lldb_unnamed_symbol838 ()
#40	0x0000000123ba8d70 in ___lldb_unnamed_symbol1219 ()
#41	0x0000000123bc7da8 in ___lldb_unnamed_symbol1739 ()
#42	0x0000000123bc72b4 in ___lldb_unnamed_symbol1738 ()
#43	0x0000000123ba9018 in ___lldb_unnamed_symbol1225 ()
#44	0x0000000123b8ddd4 in ___lldb_unnamed_symbol680 ()
#45	0x0000000102e92b90 in facebook::jsi::Function::callWithThis(facebook::jsi::Runtime&, facebook::jsi::Object const&, facebook::jsi::Value const*, unsigned long) const [inlined] at ../react-native-vision-camera/package/example/ios/Pods/Headers/Public/hermes-engine/jsi/jsi-inl.h:280
#46	0x0000000102e92b50 in RNWorklet::JsiWorklet::call(std::__1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorklet.h:219
#47	0x0000000102e92234 in RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned long) at ../react-native-vision-camera/package/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorklet.h:369
#48	0x0000000102e920ec in -[FrameProcessor callWithFrameHostObject:] at ../react-native-vision-camera/package/ios/FrameProcessors/FrameProcessor.mm:45
#49	0x0000000102e923a0 in -[FrameProcessor call:] at ../react-native-vision-camera/package/ios/FrameProcessors/FrameProcessor.mm:51
#50	0x0000000102eac590 in CameraView.onFrame(sampleBuffer:) [inlined] at ../react-native-vision-camera/package/ios/React/CameraView.swift:356
#51	0x0000000102eac57c in protocol witness for CameraSessionDelegate.onFrame(sampleBuffer:) in conformance CameraView [inlined] at ../react-native-vision-camera/package/example/ios/Pods/<compiler-generated>:349
#52	0x0000000102eac57c in specialized CameraSession.captureOutput(_:didOutput:from:) at ../react-native-vision-camera/package/ios/Core/CameraSession.swift:277
#53	0x0000000102eabbdc in CameraSession.captureOutput(_:didOutput:from:) [inlined] ()
#54	0x0000000102eabbd0 in @objc CameraSession.captureOutput(_:didOutput:from:) at ../react-native-vision-camera/package/example/ios/Pods/<compiler-generated>:274
#55	0x00000001bd81ec30 in -[AVCaptureVideoDataOutput _processSampleBuffer:] ()
#56	0x00000001bd81eafc in __47-[AVCaptureVideoDataOutput _updateRemoteQueue:]_block_invoke ()
#57	0x00000001c0fd42e4 in __FigRemoteOperationReceiverCreateMessageReceiver_block_invoke ()
#58	0x00000001c0fd4220 in __rqReceiverSetSource_block_invoke ()
#59	0x00000001050467bc in _dispatch_client_callout ()
#60	0x00000001050498e0 in _dispatch_continuation_pop ()
#61	0x0000000105060cc8 in _dispatch_source_latch_and_call ()
#62	0x000000010505f718 in _dispatch_source_invoke ()
#63	0x000000010504e4a4 in _dispatch_lane_serial_drain ()
#64	0x000000010504f408 in _dispatch_lane_invoke ()
#65	0x000000010505c404 in _dispatch_root_queue_drain_deferred_wlh ()
#66	0x000000010505ba38 in _dispatch_workloop_worker_thread ()
#67	0x00000001fc8f4f20 in _pthread_wqthread ()

from react-native-vision-camera.

namnotfake avatar namnotfake commented on September 26, 2024

When i use runAsyn but is not use runAsync app crash.
image

my code:
const runOnJs = Worklets.createRunOnJS(() => {
router.push("/");
});

const faceDetectionProcess = useFrameProcessor(
(frame: Frame) => {
"worklet";
try {
console.log(plugin);
runAsync(frame, () => {
"worklet";
const internal = frame as FrameInternal;
internal.incrementRefCount();
// @ts-ignore
const faces = plugin?.call(frame) as Face[];
if (faces.length > 0) {
runOnJs();
}
});
} catch (error) {
console.log(error);
}
},
[runOnJs]
);
my config in babel.config
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
[
"@tamagui/babel-plugin",
{
components: ["tamagui"],
config: "./tamagui.config.ts",
logTimings: true,
disableExtraction: process.env.EXPO_PUBLIC_NODE_ENV === "development",
},
],
"react-native-reanimated/plugin",
["react-native-worklets-core/plugin"],
],
};
};

runs perfectly fine now

from react-native-vision-camera.

luicfrr avatar luicfrr commented on September 26, 2024

I think that #2829 is the fix for #2579 issue.

This runAsync crash is also happening on android but #2829 pull doesn't have any changes on android files.

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

Okay yea well then this might be an actual Worklets bug.

I think it's really weird that it works with the defaultContext but not with the one we create.

from react-native-vision-camera.

luicfrr avatar luicfrr commented on September 26, 2024

On worklets-core 0.4.0 It works if we create the context from a string:

Worklets.createRunInContextFn(func..., 'AnyStringValue' )

Instead of:

const asyncContext = Worklets.createContext('VisionCamera.async')
Worklets.createRunInContextFn(func..., asyncContext)

I don't know why but it works

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

On worklets-core 0.4.0 It works if we create the context from a string:

Worklets.createRunInContextFn(func..., 'AnyStringValue' )

Instead of:

const asyncContext = Worklets.createContext('VisionCamera.async')
Worklets.createRunInContextFn(func..., asyncContext)

I don't know why but it works

The type for the second parameter is IWorkletContext | 'default', and you are not passing in a IWorkletContext, nor 'default', you are passing in a different string. TypeScript should've already told you that this isn't acceptable by adding squiggly red lines below that. However, Worklets Core didn't throw in that case, it just automatically fell back to the 'default' context, see JsiWorkletApi::createRunInContextFn(...).

So your example of passing 'AnyStringValue' is exactly the same as passing in 'default', or in react-native-worklets-core 1.x.x. where the string parameter has been removed, this is now exactly the same as Worklets.defaultContext.

from react-native-vision-camera.

luicfrr avatar luicfrr commented on September 26, 2024

The type for the second parameter is IWorkletContext | 'default', and you are not passing in a IWorkletContext, nor 'default', you are passing in a different string. TypeScript should've already told you that this isn't acceptable by adding squiggly red lines below that.

yes yes, I had this TS warning but I rewrite it forcing my string to be from any type.

However, Worklets Core didn't throw in that case, it just automatically fell back to the 'default' context, see JsiWorkletApi::createRunInContextFn(...).

So your example of passing 'AnyStringValue' is exactly the same as passing in 'default', or in react-native-worklets-core 1.x.x. where the string parameter has been removed, this is now exactly the same as Worklets.defaultContext.

okay, now that makes sense 🀯

But it's so weird that it works with the Worklets.defaultContext but not the custom context we create. We'll maybe look into this soon, let's see. If you want this issue prioritized consider contacting us thru the consulting agency, this will only take a few hours to fix.

Take your time, I'm in no hury πŸ˜€
Also thanks for your amazing work

from react-native-vision-camera.

mrousavy avatar mrousavy commented on September 26, 2024

yes yes, I had this TS warning but I rewrite it forcing my string to be from any type.

Yea, it's not a warning it's an error. Basically the force cast to any didn't change anything - as I said, 'default' has the same effect as passing in any other string.

from react-native-vision-camera.

jodrescher avatar jodrescher commented on September 26, 2024

Take your time, I'm in no hury πŸ˜€
Also thanks for your amazing work

I can only agree, thank you for all your hard work.

from react-native-vision-camera.

ismaelsousa avatar ismaelsousa commented on September 26, 2024

When i use runAsyn but is not use runAsync app crash. image

my code: const runOnJs = Worklets.createRunOnJS(() => { router.push("/"); });

const faceDetectionProcess = useFrameProcessor( (frame: Frame) => { "worklet"; try { console.log(plugin); runAsync(frame, () => { "worklet"; const internal = frame as FrameInternal; internal.incrementRefCount(); // @ts-ignore const faces = plugin?.call(frame) as Face[]; if (faces.length > 0) { runOnJs(); } }); } catch (error) { console.log(error); } }, [runOnJs] ); my config in babel.config module.exports = function (api) { api.cache(true); return { presets: ["babel-preset-expo"], plugins: [ [ "@tamagui/babel-plugin", { components: ["tamagui"], config: "./tamagui.config.ts", logTimings: true, disableExtraction: process.env.EXPO_PUBLIC_NODE_ENV === "development", }, ], "react-native-reanimated/plugin", ["react-native-worklets-core/plugin"], ], }; };

runs perfectly fine now

I am facing the same

from react-native-vision-camera.

bglgwyng avatar bglgwyng commented on September 26, 2024

I got a tombstone for this.
tombstone.zip

from react-native-vision-camera.

tfcornerstone avatar tfcornerstone commented on September 26, 2024

Related: margelo/react-native-worklets-core@552186a#diff-5626d984fb6c601e169493e0cdcd6f411cda50ad0672031afc78883b8289f60cR29 ...

from react-native-vision-camera.

zzz08900 avatar zzz08900 commented on September 26, 2024

We also experienced the same issue, with runAsync in frame processor the app crashes after a few frames on Android. While on iOS the frame processor stopped executing in less than 1 sec.

Below is the crash scene from Android.

08-14 12:25:29.397 27950 27950 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
08-14 12:25:29.397 27950 27950 F DEBUG   : Build fingerprint: 'HUAWEI/CTRN-AL20/HWCTRN-Q:12/HUAWEICTR-AL20/104.2.0.178C00:user/release-keys'
08-14 12:25:29.397 27950 27950 F DEBUG   : Revision: '0'
08-14 12:25:29.397 27950 27950 F DEBUG   : ABI: 'arm'
08-14 12:25:29.397 27950 27950 F DEBUG   : Timestamp: 2024-08-14 12:25:28.914062761+0800
08-14 12:25:29.397 27950 27950 F DEBUG   : Process uptime: 0s
08-14 12:25:29.397 27950 27950 F DEBUG   : Cmdline: com.exampleReactNativeApp
08-14 12:25:29.397 27950 27950 F DEBUG   : pid: 27635, tid: 27682, name: ionCamera.video  >>> com.exampleReactNativeApp <<<
08-14 12:25:29.397 27950 27950 F DEBUG   : uid: 10213
08-14 12:25:29.397 27950 27950 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6e2f6574
08-14 12:25:29.397 27950 27950 F DEBUG   :     r0  6e2f6574  r1  69626f4d  r2  c253ace8  r3  ffffffff
08-14 12:25:29.397 27950 27950 F DEBUG   :     r4  efbe4f10  r5  efbe4f10  r6  b86254a0  r7  c253ac58
08-14 12:25:29.397 27950 27950 F DEBUG   :     r8  d2b64a40  r9  c25fac84  r10 b8624dd0  r11 b8625224
08-14 12:25:29.397 27950 27950 F DEBUG   :     ip  c25fbc04  sp  c253ac08  lr  c25e43f1  pc  c25d9b3a
08-14 12:25:29.397 27950 27950 F DEBUG   : backtrace:
08-14 12:25:29.397 27950 27950 F DEBUG   :       #00 pc 00039b3a  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (RNWorklet::JsiWorkletContext::invokeOnWorkletThread(std::__ndk1::function<void (RNWorklet::JsiWorkletContext*, facebook::jsi::Runtime&)>&&)+78) (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #01 pc 000443ed  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #02 pc 0004b473  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)+90) (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #03 pc 0004b2a1  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (RNWorklet::JsiPromiseWrapper::createPromiseWrapper(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)+88) (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #04 pc 00042047  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #05 pc 0003a209  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #06 pc 00039fa5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #07 pc 0003e977  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #08 pc 0004a32f  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #09 pc 0004b7a5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #10 pc 0004af43  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #11 pc 00050c19  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #12 pc 0003ea61  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #13 pc 00034dd5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #14 pc 0003068b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::JsiWorklet::call(std::__ndk1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+346) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #15 pc 0002fb6b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+98) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #16 pc 0005633b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (std::__ndk1::__function::__func<RNWorklet::JsiObjectWrapper::setFunctionValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int), std::__ndk1::allocator<RNWorklet::JsiObjectWrapper::setFunctionValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned int&&)+24) (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #17 pc 0003a209  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #18 pc 00039fa5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #19 pc 0003e977  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #20 pc 0004a32f  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #21 pc 0004b7a5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #22 pc 0004af43  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #23 pc 00050c19  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #24 pc 0003ea61  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #25 pc 00034dd5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #26 pc 0003068b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::JsiWorklet::call(std::__ndk1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+346) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.397 27950 27950 F DEBUG   :       #27 pc 0002fb6b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+98) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #28 pc 0005633b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (std::__ndk1::__function::__func<RNWorklet::JsiObjectWrapper::setFunctionValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int), std::__ndk1::allocator<RNWorklet::JsiObjectWrapper::setFunctionValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned int&&)+24) (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #29 pc 0003a209  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #30 pc 00039fa5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #31 pc 0003e977  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #32 pc 0004a32f  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #33 pc 0004b7a5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #34 pc 0004af43  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #35 pc 00050c19  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #36 pc 0003ea61  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #37 pc 00034dd5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #38 pc 0003068b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::JsiWorklet::call(std::__ndk1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+346) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #39 pc 0002fb6b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+98) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #40 pc 0005633b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!librnworklets.so (std::__ndk1::__function::__func<RNWorklet::JsiObjectWrapper::setFunctionValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int), std::__ndk1::allocator<RNWorklet::JsiObjectWrapper::setFunctionValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)::'lambda'(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)>, facebook::jsi::Value (facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)>::operator()(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*&&, unsigned int&&)+24) (BuildId: cfa9d690ac39aadc28c7bcb883b822bdba60c09a)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #41 pc 0003a209  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #42 pc 00039fa5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #43 pc 0003e977  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #44 pc 0004a32f  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #45 pc 0004b7a5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #46 pc 0004af43  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #47 pc 00050c19  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #48 pc 0003ea61  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #49 pc 00034dd5  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libhermes.so (BuildId: f966cb42e732ea0b25a04b1b206486c4c8941c29)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #50 pc 0003068b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::JsiWorklet::call(std::__ndk1::shared_ptr<facebook::jsi::Function>, facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+346) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #51 pc 0002fb6b  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (RNWorklet::WorkletInvoker::call(facebook::jsi::Runtime&, facebook::jsi::Value const&, facebook::jsi::Value const*, unsigned int)+98) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #52 pc 0002fa95  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (vision::JFrameProcessor::callWithFrameHostObject(std::__ndk1::shared_ptr<vision::FrameHostObject> const&) const+224) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #53 pc 0002fe7f  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (facebook::jni::detail::MethodWrapper<void (vision::JFrameProcessor::*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*>), &(vision::JFrameProcessor::call(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*>)), vision::JFrameProcessor, void, facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*> >::dispatch(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<vision::JFrameProcessor, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>, facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*>&&)+74) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #54 pc 0002fde7  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/base.apk!libVisionCamera.so (facebook::jni::detail::FunctionWrapper<void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<vision::JFrameProcessor, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>, facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*>&&), facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<vision::JFrameProcessor, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*, void, facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*> >::call(_JNIEnv*, _jobject*, facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*, void (*)(facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<facebook::jni::HybridClass<vision::JFrameProcessor, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::_javaobject*>, facebook::jni::alias_ref<facebook::jni::detail::JTypeFor<vision::JFrame, facebook::jni::JObject, void>::_javaobject*>&&))+42) (BuildId: f8336a66241edf2b59e46948e9e52964e7d0e761)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #55 pc 00025c6d  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.odex (art_jni_trampoline+52)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #56 pc 000faa0c  /apex/com.android.art/lib/libart.so (nterp_helper+2908) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #57 pc 003b544c  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (com.mrousavy.camera.react.o.h+28)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #58 pc 000fb408  /apex/com.android.art/lib/libart.so (nterp_helper+5464) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #59 pc 003af22a  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (com.mrousavy.camera.core.g0.d+30)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #60 pc 000fb34c  /apex/com.android.art/lib/libart.so (nterp_helper+5276) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #61 pc 001cc700  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (androidx.camera.core.f.n0+0)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #62 pc 000f9ee8  /apex/com.android.art/lib/libart.so (nterp_helper+56) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #63 pc 001cc578  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (androidx.camera.core.f.Z+0)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #64 pc 000f9ee8  /apex/com.android.art/lib/libart.so (nterp_helper+56) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #65 pc 004d12c4  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (s.g0.d+4)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #66 pc 000fb34c  /apex/com.android.art/lib/libart.so (nterp_helper+5276) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #67 pc 001cb814  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (androidx.camera.core.i.m+92)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #68 pc 000fb0a8  /apex/com.android.art/lib/libart.so (nterp_helper+4600) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #69 pc 001cb614  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (androidx.camera.core.i.c+0)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #70 pc 000fa694  /apex/com.android.art/lib/libart.so (nterp_helper+2020) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #71 pc 001cb2f4  /data/app/~~IpN2405MYXlSHrcJwd3tiA==/com.exampleReactNativeApp-PwM3DMOnX0PEvhkK9L6J6Q==/oat/arm/base.vdex (androidx.camera.core.h.run+28)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #72 pc 0055165b  /system/framework/arm/boot-framework.oat (android.os.Handler.dispatchMessage+74) (BuildId: ed4f8732151187a238a21cbbcf234a3f5ee95eba)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #73 pc 00553e03  /system/framework/arm/boot-framework.oat (android.os.Looper.loopOnce+954) (BuildId: ed4f8732151187a238a21cbbcf234a3f5ee95eba)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #74 pc 005539c5  /system/framework/arm/boot-framework.oat (android.os.Looper.loop+476) (BuildId: ed4f8732151187a238a21cbbcf234a3f5ee95eba)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #75 pc 005530b1  /system/framework/arm/boot-framework.oat (android.os.HandlerThread.run+504) (BuildId: ed4f8732151187a238a21cbbcf234a3f5ee95eba)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #76 pc 000fedd5  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #77 pc 005492cb  /apex/com.android.art/lib/libart.so (art_quick_invoke_stub+282) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #78 pc 00151f11  /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+140) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398  2089  3475 I DisplayManagerService: get runnbale end
08-14 12:25:29.398 27950 27950 F DEBUG   :       #79 pc 00439b13  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+366) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398  2089  3475 I LocalDisplayAdapter: setDisplayState end
08-14 12:25:29.398  2089  3475 I LocalDisplayAdapter: setDisplayBrightness start
08-14 12:25:29.398 27950 27950 F DEBUG   :       #80 pc 00439c1f  /apex/com.android.art/lib/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue const*)+42) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #81 pc 0047f14b  /apex/com.android.art/lib/libart.so (art::Thread::CreateCallback(void*)+1042) (BuildId: 4a98e6c96f4ad7a54886ea947dcb9fdd)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #82 pc 000a9f67  /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40) (BuildId: 0b1943cebf917c185cd30ce9e6b378b9)
08-14 12:25:29.398 27950 27950 F DEBUG   :       #83 pc 00062e13  /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30) (BuildId: 0b1943cebf917c185cd30ce9e6b378b9)

If we modify runAsync.ts and replace const asyncContext = Worklets.createContext('VisionCamera.async') with const asyncContext = Worklets.defaultContext as suggested by OP, on Android side frame processor seems to be stable. (Did not test with iOS since we only use runAsync to avoid stutter on Android).

I would suggest the forementioned modification as one viable workaound for anyone dire need.

By the look of things this should be a react-native-worklets-core bug.

Package versions:
react-native-vision-camera: 4.5.0
react-native-worklets-core: 1.3.3

from react-native-vision-camera.

mrEuler avatar mrEuler commented on September 26, 2024

I only found a workaround to change the context of runAsync execution from .createContext(...) to just .defaultContext;
Because I had also issue, that worklet wasn't working on ios in RELEASE mode.

from react-native-vision-camera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.