Comments (29)
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.
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.
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 theWorklets.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.
Ah nevermind you just posted error messages this second lol
from react-native-vision-camera.
Just to clarify; this works fine in Debug, but fails in Release?
from react-native-vision-camera.
@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...
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.
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.
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.
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.
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.
And does this crash on iOS as well, or only Android?
from react-native-vision-camera.
@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.
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.
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.
For me, runAsync
runs perfectly fine now
from react-native-vision-camera.
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.
When i use runAsyn but is not use runAsync app crash.
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.
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.
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.
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.
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.
The type for the second parameter is
IWorkletContext | 'default'
, and you are not passing in aIWorkletContext
, 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, seeJsiWorkletApi::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 asWorklets.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.
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.
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.
When i use runAsyn but is not use runAsync app crash.
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.
I got a tombstone for this.
tombstone.zip
from react-native-vision-camera.
Related: margelo/react-native-worklets-core@552186a#diff-5626d984fb6c601e169493e0cdcd6f411cda50ad0672031afc78883b8289f60cR29 ...
from react-native-vision-camera.
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.
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)
- π onRecordingFinished returns width: 0, height: 0 on every recording HOT 14
- π Code scans only in the top right corner HOT 2
- π§ I had issue building !! HOT 1
- π§ cannot build!! HOT 1
- π Whats the meaning of life HOT 1
- π Hans Pie recipe HOT 2
- π Possible to zoom with useSkiaFrameProcessor? HOT 6
- π How to set Low video resolution HOT 3
- π In production, runAsync does not work inside a useSkiaFrameProcessor HOT 1
- π Cannot zoom on Android when using useSkiaFrameProcessor HOT 5
- β¨ Request for Adding Additional Cinematic Modes HOT 1
- π The picture looks blurry ( out of focus) in Camera View but comes out focused after clicking on Ipad HOT 11
- π ERROR Frame Processor Error: Failed to lock HardwareBuffer for reading!, js engine: VisionCamera HOT 5
- π [capture/invalid-path] Unable to take photos or videos with custom path with Android using expo file system. HOT 6
- π How to wrap an overlay around the preview and render a square output HOT 3
- π Issue with FrameProcessorsUnavailableError HOT 3
- π Lanscape mode issue. HOT 3
- π iOS front Camera landscape mode issue. HOT 1
- π§ Build fails after upgrading to targetSdkVeersion 34 HOT 9
- π Wrong Orientation on `takePhoto` (`takeSnapshot` is working properly) HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-native-vision-camera.