Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module.
If you see the exception, come from visioncamera.
com.mrousavy.camera.react.CameraDevicesManager
AndroidRuntime: at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager.kt:102) 07-21 11:53:22.790 19288 19373 E AndroidRuntime: at com.mrousavy.camera.react.CameraDevicesManager1.invokeSuspend(CameraDevicesManager.kt:74) 07-21 11:53:22.790 19288 19373 E AndroidRuntime: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 07-21 11:53:22.790 19288 19373 E AndroidRuntime: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101) 07-21 11:53:22.790 19288 19373ecc ecc
Originally posted by @Master-Antonio in #3585
Its vision camera, not webrtc. In my app navigator there is a screen that use vision camera, that mean when you open the app there is the initialization of vision camera too, and it crash with that error. I tried also to load this screen in lazy mod but dont work too, same error.
const CallScreen= lazy(() => import('../screens/screen'));
<Stack.Screen
name="Call"
>
{() => (
<Suspense fallback={<CallScreenFallback />}>
<CallScreen />
</Suspense>
)}
</Stack.Screen>
webrtc have camera control too, so i think they go in conflict.
Guten Tag, Hans here!
Thanks for bringing this up, but it looks like you haven’t provided enough information for mrousavy to help resolve zhis issue. Please include the relevant logs from either Android Studio or use adb logcat to gather runtime logs. This will help in diagnosing ze problem.
Also, consider checking your implementation against ze documentation to ensure everything is set up correctly. If you find it helpful, you can also support ze project by sponsoring mrousavy here. Cheers! 🍻
Note: If you think I made a mistake, please ping
@mrousavyto take a look.
+1
Ran into this while upgrading react and react-native info Fetching system and libraries information... System: OS: Windows 11 10.0.26100 CPU: (12) x64 11th Gen Intel(R) Core(TM) i5-11400H @ 2.70GHz Memory: 1.78 GB / 15.78 GB Binaries: Node: version: 22.17.1 path: ~\AppData\Local\Temp\yarn--1753220538921-0.6584790179539757\node.CMD Yarn: version: 1.22.22 path: ~\AppData\Local\Temp\yarn--1753220538921-0.6584790179539757\yarn.CMD npm: version: 11.4.2 path: C:\Program Files\nodejs\npm.CMD Watchman: Not Found SDKs: Android SDK: API Levels: - "34" - "35" Build Tools: - 33.0.1 - 34.0.0 - 35.0.0 System Images: - android-35 | Google APIs Intel x86_64 Atom - android-35 | Google Play Intel x86_64 Atom Android NDK: Not Found Windows SDK: AllowAllTrustedApps: Enabled AllowDevelopmentWithoutDevLicense: Enabled Versions: - 10.0.16299.0 - 10.0.17134.0 - 10.0.17763.0 - 10.0.19041.0 - 10.0.20348.0 - 10.0.22000.0 - 10.0.22621.0 IDEs: Android Studio: AI-251.25410.109.2511.13752376 Visual Studio: - 15.9.35027.97 (Visual Studio Community 2017) - 17.10.35027.167 (Visual Studio Community 2022) Languages: Java: 17.0.11 Ruby: Not Found npmPackages: "@react-native-community/cli": installed: 19.1.0 wanted: 19.1.0 react: installed: 19.1.0 wanted: 19.1.0 react-native: installed: 0.80.1 wanted: 0.80.1 react-native-windows: Not Found npmGlobalPackages: "react-native": Not Found Android: hermesEnabled: true newArchEnabled: false iOS: hermesEnabled: Not found newArchEnabled: Not found
Done in 4.57s.
I have news now. Its because visioncamera with newArchEnabled:true, without the turbo modules crash, doesnt work. The problem is that for now many libraries arent still compatible to the turbo modules, so that is a big problem, visioncamera should be compatible also to the old way...
Same here using react-native-vision-camera 4.7.1 with frame processors and react-native 0.75.5. In my case it seems to be a silent error, I didn't see the app freeze or crash
java.lang.IllegalStateException: Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module.
at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext:95)
at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager:102)
at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager:74)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Threads:
Thread 2 - main - (RUNNABLE)
at android.os.BinderProxy.transactNative(BinderProxy.java:-2)
at android.os.BinderProxy.transact(BinderProxy.java:662)
at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:1570)
at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:9786)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3884)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3116)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10885)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1301)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1309)
at android.view.Choreographer.doCallbacks(Choreographer.java:923)
at android.view.Choreographer.doFrame(Choreographer.java:852)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1283)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8762)
at java.lang.reflect.Method.invoke(Method.java:-2)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067)
Thread 7015 - Signal Catcher - (WAITING)
at unknown method(unknown file)
Thread 7016 - HeapTaskDaemon - (WAITING)
at unknown method(unknown file)
Thread 7017 - ReferenceQueueDaemon - (WAITING)
at java.lang.Object.wait(Object.java:-2)
at java.lang.Object.wait(Object.java:405)
at java.lang.Object.wait(Object.java:543)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:251)
at java.lang.Daemons$Daemon.run(Daemons.java:131)
at java.lang.Thread.run(Thread.java:1012)
Thread 7018 - Jit thread pool worker thread 0 - (RUNNABLE)
at unknown method(unknown file)
Thread 7019 - FinalizerDaemon - (WAITING)
at java.lang.Object.wait(Object.java:-2)
at java.lang.Object.wait(Object.java:405)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:207)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:228)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:331)
at java.lang.Daemons$Daemon.run(Daemons.java:131)
at java.lang.Thread.run(Thread.java:1012)
Thread 7020 - FinalizerWatchdogDaemon - (WAITING)
at java.lang.Object.wait(Object.java:-2)
at java.lang.Object.wait(Object.java:405)
at java.lang.Object.wait(Object.java:543)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:464)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:444)
at java.lang.Daemons$Daemon.run(Daemons.java:131)
at java.lang.Thread.run(Thread.java:1012)
Thread 7021 - binder:13025_1 - (RUNNABLE)
at unknown method(unknown file)
Thread 7022 - binder:13025_2 - (RUNNABLE)
at unknown method(unknown file)
Thread 7024 - binder:13025_3 - (RUNNABLE)
at unknown method(unknown file)
Thread 7025 - Profile Saver - (RUNNABLE)
at unknown method(unknown file)
Thread 7027 - queued-work-looper-data - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7028 - WM.task-1 - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7029 - Bugsnag IO thread - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7031 - pool-3-thread-1 - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7032 - Bugsnag Default thread - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7033 - WM.task-2 - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7034 - process reaper - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7035 - bugsnag-anr-collector - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Thread 7036 - Bugsnag Error thread - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7037 - Bugsnag Session thread - (RUNNABLE)
at com.android.org.conscrypt.NativeCrypto.X509_verify(NativeCrypto.java:-2)
at com.android.org.conscrypt.OpenSSLX509Certificate.verifyOpenSSL(OpenSSLX509Certificate.java:378)
at com.android.org.conscrypt.OpenSSLX509Certificate.verify(OpenSSLX509Certificate.java:408)
at android.security.net.config.DirectoryCertificateSource$3.match(DirectoryCertificateSource.java:119)
at android.security.net.config.DirectoryCertificateSource.findCerts(DirectoryCertificateSource.java:157)
at android.security.net.config.DirectoryCertificateSource.findAllByIssuerAndSignature(DirectoryCertificateSource.java:115)
at android.security.net.config.SystemCertificateSource.findAllByIssuerAndSignature(SystemCertificateSource.java:27)
at android.security.net.config.CertificatesEntryRef.findAllCertificatesByIssuerAndSignature(CertificatesEntryRef.java:65)
at android.security.net.config.NetworkSecurityConfig.findAllCertificatesByIssuerAndSignature(NetworkSecurityConfig.java:146)
at android.security.net.config.TrustedCertificateStoreAdapter.findAllIssuers(TrustedCertificateStoreAdapter.java:46)
at com.android.org.conscrypt.TrustManagerImpl.findAllTrustAnchorsByIssuerAndSignature(TrustManagerImpl.java:918)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:551)
at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:608)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:498)
at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:418)
at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:346)
at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94)
at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:90)
at com.android.org.conscrypt.ConscryptEngineSocket$2.checkServerTrusted(ConscryptEngineSocket.java:167)
at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:282)
at com.android.org.conscrypt.ConscryptEngine.verifyCertificateChain(ConscryptEngine.java:1635)
at com.android.org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(NativeCrypto.java:-2)
at com.android.org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:566)
at com.android.org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1092)
at com.android.org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1076)
at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:873)
at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:744)
at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:709)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:902)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.-$$Nest$mprocessDataFromSocket(Unknown)
at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:240)
at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:222)
at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196)
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30)
at com.bugsnag.android.DefaultDelivery.makeRequest(DefaultDelivery:134)
at com.bugsnag.android.DefaultDelivery.deliver(DefaultDelivery:87)
at com.bugsnag.android.DefaultDelivery.deliver(DefaultDelivery:25)
at com.bugsnag.android.SessionTracker.deliverSessionPayload(SessionTracker:340)
at com.bugsnag.android.SessionTracker.deliverInMemorySession(SessionTracker:316)
at com.bugsnag.android.SessionTracker$2.run(SessionTracker:304)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7038 - ConnectivityThread - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Thread 7039 - RenderThread - (RUNNABLE)
at unknown method(unknown file)
Thread 7040 - queued-work-looper-data - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7041 - create_react_context - (RUNNABLE)
at com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(SourceFile:-2)
at com.facebook.react.bridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl:239)
at com.facebook.react.bridge.JSBundleLoader$1.loadScript(JSBundleLoader:27)
at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl:268)
at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager:1464)
at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2(ReactInstanceManager:1161)
at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc(ReactInstanceManager)
at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run(ReactInstanceManager:4)
at java.lang.Thread.run(Thread.java:1012)
Thread 7042 - HybridData DestructorThread - (WAITING)
at java.lang.Object.wait(Object.java:-2)
at java.lang.Object.wait(Object.java:405)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:207)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:228)
at com.facebook.jni.DestructorThread$1.run(DestructorThread:76)
Thread 7043 - WifiManagerThread - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Thread 7045 - pool-4-thread-1 - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7046 - DefaultDispatcher-worker-1 - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707)
Thread 7047 - DefaultDispatcher-worker-2 - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707)
Thread 7048 - DefaultDispatcher-worker-3 - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707)
Thread 7049 - DefaultDispatcher-worker-4 - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707)
Thread 7050 - OkHttp ConnectionPool - (TIMED_WAITING)
at java.lang.Object.wait(Object.java:-2)
at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7051 - mrousavy/VisionCamera.video - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Thread 7052 - CameraManager - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Thread 7053 - pool-6-thread-1 - (TIMED_WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7054 - binder:13025_4 - (RUNNABLE)
at unknown method(unknown file)
Thread 7055 - mqt_js - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl:235)
at java.lang.Thread.run(Thread.java:1012)
Thread 7056 - mqt_native_modules - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl:235)
at java.lang.Thread.run(Thread.java:1012)
Thread 7057 - CameraX-scheduler - (RUNNABLE)
at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loopOnce(Looper.java:186)
at android.os.Looper.loop(Looper.java:313)
at android.os.HandlerThread.run(HandlerThread.java:67)
Thread 7058 - CameraX-core_camera_0 - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7059 - CameraX-core_camera_1 - (WAITING)
at jdk.internal.misc.Unsafe.park(Unsafe.java:-2)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Thread 7060 - pool-6-thread-2 - (RUNNABLE)
at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext:95)
at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager:102)
at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager:74)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Same error here, after dependencies upgrade:
- react-native:
0.76.9to0.77.3- New architecture:
disabled
- New architecture:
- react-native-vision-camera:
4.6.4to4.7.1
EDIT: I only notice this crash when force reload from Metro, pressing "r" EDIT: No problems on iOS
Flipper crash report:
FATAL EXCEPTION: pool-19-thread-2
Unknown
FATAL EXCEPTION: pool-19-thread-2
Process: com.meridianosoft.app, PID: 6797
java.lang.IllegalStateException: Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module.
at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext.java:97)
at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager.kt:102)
at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager.kt:74)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ac8c2d9, java.util.concurrent.ThreadPoolExecutor@faf449e[Running, pool size = 2, active threads = 1, queued tasks = 0, completed tasks = 3]]
- react-native: 0.78.0
- New Architecture: Disabled
Temporary Fix: Crash issue with version 4.7.1 — Downgraded to 4.7.0
Initially installed version 4.7.1, but encountered crashing issues.
After downgrading to 4.7.0, the app is stable and no longer crashes.
I resolved this by moving the init {} in CameraDevicesManager.kt to initialize() function
override fun initialize() { super.initialize() // Init cameraProvider + manager as early as possible coroutineScope.launch { try { Log.i(TAG, "Initializing ProcessCameraProvider...") cameraProvider = ProcessCameraProvider.getInstance(reactContext).await(executor) Log.i(TAG, "Initializing ExtensionsManager...") extensionsManager = ExtensionsManager.getInstanceAsync(reactContext, cameraProvider!!).await(executor) Log.i(TAG, "Successfully initialized!") } catch (error: Throwable) { Log.e(TAG, "Failed to initialize ProcessCameraProvider/ExtensionsManager! Error: ${error.message}", error) } sendAvailableDevicesChangedEvent() } cameraManager.registerAvailabilityCallback(callback, null) }
I also had this issue
- Android , Old Arch,0.79.5
We also encountered this issue when upgrading to 4.7.1, on React Native 0.79.4 with the old architecture. Initially it seemed to only impact release builds, but there were instances of it crashing when hot reloading a debug build as well.
i fix this issue, just replace this code
in CameraDevicesManager.kt file
// Init cameraProvider + manager as early as possible init { coroutineScope.launch { try { Log.i(TAG, "Initializing ProcessCameraProvider...") cameraProvider = ProcessCameraProvider.getInstance(reactContext).await(executor) Log.i(TAG, "Initializing ExtensionsManager...") extensionsManager = ExtensionsManager.getInstanceAsync(reactContext, cameraProvider!!).await(executor) Log.i(TAG, "Successfully initialized!") } catch (error: Throwable) { Log.e(TAG, "Failed to initialize ProcessCameraProvider/ExtensionsManager! Error: ${error.message}", error) }
}
}
// Note: initialize() will be called after getConstants on new arch! override fun initialize() { super.initialize() cameraManager.registerAvailabilityCallback(callback, null) sendAvailableDevicesChangedEvent() }
This is still broken, even on 4.7.0 for me.
I had to create a patch following ddkuz instructions (thank you)
We are also having this crash issue in production. Any patch coming?
This is still broken, even on 4.7.0 for me.
I had to create a patch following ddkuz instructions (thank you)
What version of RN are you using? For me, this patch in 0.75.5 doesnt work
react-native-vision-camera+4.7.1.patch
use this patch its work in RN 77.2 to 79.2
Do you have a solution for RN < 0.77.2?
Hii @mannoeu
Please give me more information about your problem, so i can help you
react-native-vision-camera+4.7.1.patch use this patch its work in RN 77.2 to 79.2
Do you have a solution for RN < 0.77.2?
Hii @mannoeu
Please give me more information about your problem, so i can help you
react-native-vision-camera+4.7.1.patch use this patch its work in RN 77.2 to 79.2
Do you have a solution for RN < 0.77.2?
Hey, I'm experiencing a spike in ANRs reported by androis. While the version of my app that updated the vision camera was in internal validation, we noticed the bugsnag report but we didn't notice any freezes or crashes.
Same here using react-native-vision-camera 4.7.1 with frame processors and react-native 0.75.5. In my case it seems to be a silent error, I didn't see the app freeze or crash
java.lang.IllegalStateException: Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module. at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext:95) at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager:102) at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager:74) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask:101) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)Threads:
Thread 2 - main - (RUNNABLE) at android.os.BinderProxy.transactNative(BinderProxy.java:-2) at android.os.BinderProxy.transact(BinderProxy.java:662) at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:1570) at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:9786) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3884) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3116) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1301) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1309) at android.view.Choreographer.doCallbacks(Choreographer.java:923) at android.view.Choreographer.doFrame(Choreographer.java:852) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1283) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8762) at java.lang.reflect.Method.invoke(Method.java:-2) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:604) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1067) Thread 7015 - Signal Catcher - (WAITING) at unknown method(unknown file) Thread 7016 - HeapTaskDaemon - (WAITING) at unknown method(unknown file) Thread 7017 - ReferenceQueueDaemon - (WAITING) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:405) at java.lang.Object.wait(Object.java:543) at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:251) at java.lang.Daemons$Daemon.run(Daemons.java:131) at java.lang.Thread.run(Thread.java:1012) Thread 7018 - Jit thread pool worker thread 0 - (RUNNABLE) at unknown method(unknown file) Thread 7019 - FinalizerDaemon - (WAITING) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:405) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:207) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:228) at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:331) at java.lang.Daemons$Daemon.run(Daemons.java:131) at java.lang.Thread.run(Thread.java:1012) Thread 7020 - FinalizerWatchdogDaemon - (WAITING) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:405) at java.lang.Object.wait(Object.java:543) at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:464) at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:444) at java.lang.Daemons$Daemon.run(Daemons.java:131) at java.lang.Thread.run(Thread.java:1012) Thread 7021 - binder:13025_1 - (RUNNABLE) at unknown method(unknown file) Thread 7022 - binder:13025_2 - (RUNNABLE) at unknown method(unknown file) Thread 7024 - binder:13025_3 - (RUNNABLE) at unknown method(unknown file) Thread 7025 - Profile Saver - (RUNNABLE) at unknown method(unknown file) Thread 7027 - queued-work-looper-data - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7028 - WM.task-1 - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7029 - Bugsnag IO thread - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7031 - pool-3-thread-1 - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1188) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:905) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7032 - Bugsnag Default thread - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:460) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7033 - WM.task-2 - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7034 - process reaper - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7035 - bugsnag-anr-collector - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Thread 7036 - Bugsnag Error thread - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7037 - Bugsnag Session thread - (RUNNABLE) at com.android.org.conscrypt.NativeCrypto.X509_verify(NativeCrypto.java:-2) at com.android.org.conscrypt.OpenSSLX509Certificate.verifyOpenSSL(OpenSSLX509Certificate.java:378) at com.android.org.conscrypt.OpenSSLX509Certificate.verify(OpenSSLX509Certificate.java:408) at android.security.net.config.DirectoryCertificateSource$3.match(DirectoryCertificateSource.java:119) at android.security.net.config.DirectoryCertificateSource.findCerts(DirectoryCertificateSource.java:157) at android.security.net.config.DirectoryCertificateSource.findAllByIssuerAndSignature(DirectoryCertificateSource.java:115) at android.security.net.config.SystemCertificateSource.findAllByIssuerAndSignature(SystemCertificateSource.java:27) at android.security.net.config.CertificatesEntryRef.findAllCertificatesByIssuerAndSignature(CertificatesEntryRef.java:65) at android.security.net.config.NetworkSecurityConfig.findAllCertificatesByIssuerAndSignature(NetworkSecurityConfig.java:146) at android.security.net.config.TrustedCertificateStoreAdapter.findAllIssuers(TrustedCertificateStoreAdapter.java:46) at com.android.org.conscrypt.TrustManagerImpl.findAllTrustAnchorsByIssuerAndSignature(TrustManagerImpl.java:918) at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:551) at com.android.org.conscrypt.TrustManagerImpl.checkTrustedRecursive(TrustManagerImpl.java:608) at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:498) at com.android.org.conscrypt.TrustManagerImpl.checkTrusted(TrustManagerImpl.java:418) at com.android.org.conscrypt.TrustManagerImpl.getTrustedChainForServer(TrustManagerImpl.java:346) at android.security.net.config.NetworkSecurityTrustManager.checkServerTrusted(NetworkSecurityTrustManager.java:94) at android.security.net.config.RootTrustManager.checkServerTrusted(RootTrustManager.java:90) at com.android.org.conscrypt.ConscryptEngineSocket$2.checkServerTrusted(ConscryptEngineSocket.java:167) at com.android.org.conscrypt.Platform.checkServerTrusted(Platform.java:282) at com.android.org.conscrypt.ConscryptEngine.verifyCertificateChain(ConscryptEngine.java:1635) at com.android.org.conscrypt.NativeCrypto.ENGINE_SSL_read_direct(NativeCrypto.java:-2) at com.android.org.conscrypt.NativeSsl.readDirectByteBuffer(NativeSsl.java:566) at com.android.org.conscrypt.ConscryptEngine.readPlaintextDataDirect(ConscryptEngine.java:1092) at com.android.org.conscrypt.ConscryptEngine.readPlaintextData(ConscryptEngine.java:1076) at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:873) at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:744) at com.android.org.conscrypt.ConscryptEngine.unwrap(ConscryptEngine.java:709) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:902) at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.-$$Nest$mprocessDataFromSocket(Unknown) at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:240) at com.android.org.conscrypt.ConscryptEngineSocket.startHandshake(ConscryptEngineSocket.java:222) at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:196) at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:153) at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262) at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219) at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30) at com.bugsnag.android.DefaultDelivery.makeRequest(DefaultDelivery:134) at com.bugsnag.android.DefaultDelivery.deliver(DefaultDelivery:87) at com.bugsnag.android.DefaultDelivery.deliver(DefaultDelivery:25) at com.bugsnag.android.SessionTracker.deliverSessionPayload(SessionTracker:340) at com.bugsnag.android.SessionTracker.deliverInMemorySession(SessionTracker:316) at com.bugsnag.android.SessionTracker$2.run(SessionTracker:304) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) at java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7038 - ConnectivityThread - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Thread 7039 - RenderThread - (RUNNABLE) at unknown method(unknown file) Thread 7040 - queued-work-looper-data - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7041 - create_react_context - (RUNNABLE) at com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(SourceFile:-2) at com.facebook.react.bridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl:239) at com.facebook.react.bridge.JSBundleLoader$1.loadScript(JSBundleLoader:27) at com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl:268) at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager:1464) at com.facebook.react.ReactInstanceManager.lambda$runCreateReactContextOnNewThread$2(ReactInstanceManager:1161) at com.facebook.react.ReactInstanceManager.$r8$lambda$PrBhihCbbAFk4ZReAALGanVLCyc(ReactInstanceManager) at com.facebook.react.ReactInstanceManager$$ExternalSyntheticLambda1.run(ReactInstanceManager:4) at java.lang.Thread.run(Thread.java:1012) Thread 7042 - HybridData DestructorThread - (WAITING) at java.lang.Object.wait(Object.java:-2) at java.lang.Object.wait(Object.java:405) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:207) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:228) at com.facebook.jni.DestructorThread$1.run(DestructorThread:76) Thread 7043 - WifiManagerThread - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Thread 7045 - pool-4-thread-1 - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7046 - DefaultDispatcher-worker-1 - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707) Thread 7047 - DefaultDispatcher-worker-2 - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707) Thread 7048 - DefaultDispatcher-worker-3 - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707) Thread 7049 - DefaultDispatcher-worker-4 - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:376) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler:858) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler:806) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler:754) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler:707) Thread 7050 - OkHttp ConnectionPool - (TIMED_WAITING) at java.lang.Object.wait(Object.java:-2) at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7051 - mrousavy/VisionCamera.video - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Thread 7052 - CameraManager - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Thread 7053 - pool-6-thread-1 - (TIMED_WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252) at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:401) at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:903) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1070) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7054 - binder:13025_4 - (RUNNABLE) at unknown method(unknown file) Thread 7055 - mqt_js - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl:235) at java.lang.Thread.run(Thread.java:1012) Thread 7056 - mqt_native_modules - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl:235) at java.lang.Thread.run(Thread.java:1012) Thread 7057 - CameraX-scheduler - (RUNNABLE) at android.os.MessageQueue.nativePollOnce(MessageQueue.java:-2) at android.os.MessageQueue.next(MessageQueue.java:335) at android.os.Looper.loopOnce(Looper.java:186) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Thread 7058 - CameraX-core_camera_0 - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7059 - CameraX-core_camera_1 - (WAITING) at jdk.internal.misc.Unsafe.park(Unsafe.java:-2) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3466) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3437) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1623) at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1071) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1131) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012) Thread 7060 - pool-6-thread-2 - (RUNNABLE) at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext:95) at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager:102) at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager:74) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(BaseContinuationImpl:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask:101) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at java.lang.Thread.run(Thread.java:1012)
Hi @mannoeu, Is there any update for React Native versions below 0.77? I’m currently using react-native 0.76.9 with react-native-vision-camera 4.7.1.
Hello dear @R8P
I’m still facing this error, I haven’t found the solution
Hi @mannoeu, Is there any update for React Native versions below 0.77? I’m currently using react-native 0.76.9 with react-native-vision-camera 4.7.1.
Currently, downgrade to 4.7.0 is my solution
I am experiencing a crash when using React Native Vision Camera on Android after upgrading to React Native 0.77.0.
Versions:
react-native: 0.77.0
react-native-vision-camera: ^4.7.1
Play console Logs:
com.facebook.react.bridge.BridgeReactContext.getJSModule java.lang.IllegalStateException
Crashlytics Logs:
BridgeReactContext.getJSModule java.lang.IllegalStateException - Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#get
Same error here, after dependencies upgrade:
react-native:
0.76.9to0.77.3
- New architecture:
disabledreact-native-vision-camera:
4.6.4to4.7.1EDIT: I only notice this crash when force reload from Metro, pressing "r" EDIT: No problems on iOS
Flipper crash report:
FATAL EXCEPTION: pool-19-thread-2 Unknown FATAL EXCEPTION: pool-19-thread-2 Process: com.meridianosoft.app, PID: 6797 java.lang.IllegalStateException: Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module. at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext.java:97) at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager.kt:102) at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager.kt:74) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.lang.Thread.run(Thread.java:923) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ac8c2d9, java.util.concurrent.ThreadPoolExecutor@faf449e[Running, pool size = 2, active threads = 1, queued tasks = 0, completed tasks = 3]]
I am also facing same issue have you found any solution @josegiufrida
Hi @mannoeu, Is there any update for React Native versions below 0.77? I’m currently using react-native 0.76.9 with react-native-vision-camera 4.7.1.
Currently, downgrade to 4.7.0 is my solution
Are you sure? See changelog between 4.7.0 and 4.7.1 I don’t see any change that makes this issue solved
@mohitGraffers @mannoeu
For me, the solution was downgrade to v4.7.0. I haven't seen any further problems. Development and production.
I can't downgrade to 4.7.0 as I'm on RN 0.81 (using old architecture) and 4.7.2 fixed an build issue with RN 0.81. I'll probably try downgrading RN or put more effort in supporting new arch, as I understood this crash only happend on old arch right?
To come back to my previous message. I upgraded to new architecture. Confirmed when running metro:
Running "App" with {"rootTag":1,"initialProps":{},"fabric":true}
"react-native": "0.81.4", "react-native-vision-camera": "4.7.2", "react-native-worklets-core": "1.6.2",
However the app still crashes on start:
SoLoader already initialized Initializing ProcessCameraProvider... Initializing ExtensionsManager... Successfully initialized! FATAL EXCEPTION: pool-26-thread-2 Process: com.xyz.app.development, PID: 26246 java.lang.IllegalStateException: Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module. at com.facebook.react.bridge.BridgeReactContext.getJSModule(BridgeReactContext.java:111) at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager.kt:102) at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager.kt:74) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
Any updates on this issue? I'm running react-native: 0.74.7 and vision-camera: 4.7.0. I was using 4.7.1 and tried the downgrade, but the issue persists.
Here is the log from Firebase Crashlytics; it is currently affecting ~12% of my user base.
Fatal Exception: java.lang.IllegalStateException: Tried to access a JS module before the React instance was fully set up. Calls to ReactContext#getJSModule should only happen once initialize() has been called on your native module.
at com.facebook.react.bridge.ReactContext.getJSModule(ReactContext.java:180)
at com.mrousavy.camera.react.CameraDevicesManager.sendAvailableDevicesChangedEvent(CameraDevicesManager.kt:102)
at com.mrousavy.camera.react.CameraDevicesManager$1.invokeSuspend(CameraDevicesManager.kt:74)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
at java.lang.Thread.run(Thread.java:1119)
hey guys, any news regarding this issue? our crashlytics still reporting this, I've tried to reproduce this locally but I can't.
our Sentry also not reporting this crash
Versions:
"react-native": "0.78.3",
"react-native-vision-camera": "^4.6.4"
is upgrading react-native-vision-camera into the latest version will fix it? this issue is happening after we upgrade our react-native from 77 into 78
another question is this a silent crash?
@abdymm try the patches from here. works for me. https://github.com/mrousavy/react-native-vision-camera/issues/3609