react-native-vision-camera: 🐛 App crash using QR scanner (useCodeScanner)

What’s happening?

The app crashes after scanning a QR code and navigate to another screen (using React Native Navigation) The QR code is successfully scanned but when I want to navigate to another page after (inside onCodeScanned callback) and the app sometimes crashes.

If I unmount the <Camera /> component before navigating to another page it also crash, example.

  const [isActive, setIsActive] = React.useState(true);
  const [isMount, setIsMount] = React.useState(true);
  const device = useCameraDevice('back');

  const codeScanner = useCodeScanner({
    codeTypes: ['qr', 'ean-13'],
    onCodeScanned: codes => {
      setIsActive(false);
      setIsMount(false);  // <-- sometimes crash
      props.navigation.navigate('ANOTHER_SCREEN'); // React native navigation
    },
  });

  return isMount ? (
    <Camera
      style={styles.camera}
      device={device}
      isActive={isActive}
      audio={false}
      codeScanner={codeScanner}
    />
  ) : null;

Is this a mistake or am I doing it wrong?

Reproduceable Code

import React, {useEffect} from 'react';
import {StyleSheet, Text} from 'react-native';

import {
  Camera,
  useCameraDevice,
  useCameraPermission,
  useCodeScanner,
} from 'react-native-vision-camera';

export default function VisionScreen(props: any) {
  const {hasPermission, requestPermission} = useCameraPermission();
  const device = useCameraDevice('back');

  useEffect(() => {
    if (!hasPermission) {
      console.log(requestPermission());
    }
  }, [hasPermission, requestPermission]);

  const codeScanner = useCodeScanner({
    codeTypes: ['qr', 'ean-13'],
    onCodeScanned: codes => {
      props.navigation.navigate('ANOTHER_SCREEN'); // <-- crash
    },
  });

  if (device == null || !hasPermission) {
    return <Text>HasPermission False</Text>;
  }

  return (
    <Camera
      style={styles.camera}
      device={device}
      isActive={true}
      audio={false}
      codeScanner={codeScanner}
    />
  );
}
const styles = StyleSheet.create({
  camera: {
    width: 680,
    height: 680,
  },
});

Relevant log output

2024-01-02T22:18:53.980Z
693
Layer
FL_V_info: (BufferStateLayer)Name=SurfaceView - com.patrullaje/com.patrullaje.MainActivity@2b3fe50@0(BLAST)#0, Visible=1(Hiddenflag = 0, Alpha = 1.000000, [BufferInfo.mBuffer || mSidebandStream] = 2),Layer.flag=0x102
2024-01-02T22:18:53.982Z
636
libfacedetect
[FdDetectFace,122]: aeStable:1, brightValue:909, backlightPro:0, zoomRatio:0, handle: 0xf443c960, imgaddr: 0xe8de2000, imgw: 640, imgh: 360, imgs: 640
2024-01-02T22:18:53.983Z
636
FDV3
[find, 698]: src:640x360 detect:320 face_num=0 0.37 ms
2024-01-02T22:18:53.984Z
636
android.hardware.camera.provider@2.4-service
87, fp5510e_drv_set_pos: 167
2024-01-02T22:18:53.984Z
636
android.hardware.camera.provider@2.4-service
38, _fp5510e_write_dac_code: 167
2024-01-02T22:18:53.988Z
636
cmr_sensor
922, cmr_sns_thread_proc: evt 524548
2024-01-02T22:18:53.988Z
636
cmr_sensor
1328, cmr_sns_ioctl: cmd = 45, arg = 0xea8a7d08.
2024-01-02T22:18:53.988Z
636
gralloc4
unlockBuffer: id=28100000df7, vaddr=0xe4569000
2024-01-02T22:18:53.989Z
4925
BufferQueueProducer
[ImageReader-1280x720f23m2-4925-1](id:133d00000004,api:4,p:818,c:4925) queueBuffer: BufferQueue has been abandoned
2024-01-02T22:18:53.989Z
818
Surface
queueBuffer: error queuing buffer, -19
2024-01-02T22:18:53.989Z
818
Camera3-OutputStream
returnBufferCheckedLocked: Stream 2: Error queueing buffer to native window: No such device (-19)
2024-01-02T22:18:53.990Z
4925
CameraSession
Adding 1280 x 720 CodeScanner Output in Format #35...
2024-01-02T22:18:53.994Z
4925
CreateCaptureSession
Camera 0: Creating Capture Session #1002... Hardware Level: 0} | Outputs: [android.hardware.camera2.params.OutputConfiguration@fa22230e]
2024-01-02T22:18:53.994Z
4925
CreateCaptureSession
Using new API (>=28)
2024-01-02T22:18:53.995Z
818
Camera3-Device
waitUntilDrainedLocked: Camera 0: Waiting until idle (5000000000ns)
2024-01-02T22:18:53.996Z
636
awb_adpt
1503, awb_sprd_ctrl_calculation_v3_2: check handle success
2024-01-02T22:18:53.997Z
636
ATM
1102, atm_calc: smooth out frame_id 609 u4EVD 29696 smooth u4EVD 29849.599609  bv 909
2024-01-02T22:18:53.997Z
636
isp_blk_cmc10
266, _pm_cmc10_set_param: cmc_result: (2237 15214 16342; 15993 1635 16164; 16320 15718 1753).
2024-01-02T22:18:53.997Z
693
Layer
FL_V_info: (BufferStateLayer)Name=151dc61 com.patrullaje/com.patrullaje.MainActivity, Visible=1(Hiddenflag = 0, Alpha = 1.000000, [BufferInfo.mBuffer || mSidebandStream] = 2),Layer.flag=0x100
2024-01-02T22:18:53.997Z
693
Layer
FL_V_info: (BufferStateLayer)Name=SurfaceView - com.patrullaje/com.patrullaje.MainActivity@2b3fe50@0(BLAST)#0, Visible=1(Hiddenflag = 0, Alpha = 1.000000, [BufferInfo.mBuffer || mSidebandStream] = 2),Layer.flag=0x102
2024-01-02T22:18:53.997Z
636
ATM
1102, atm_calc: smooth out frame_id 610 u4EVD 29696 smooth u4EVD 29798.400391  bv 909
2024-01-02T22:18:53.997Z
636
isp_blk_cmc10
266, _pm_cmc10_set_param: cmc_result: (2237 15214 16342; 15993 1635 16164; 16320 15718 1753).
2024-01-02T22:18:53.998Z
636
Libae[FAE]
1409, face_luma_calc: NO FACE
2024-01-02T22:18:53.998Z
636
aft_sprd_lib
3406, trace_face_by_iou: old_roi (sx ex sy ey) = (0 0 0 0) 
2024-01-02T22:18:53.998Z
636
aft_sprd_lib
3421, trace_face_by_iou: face_roi_iou 0.000000
2024-01-02T22:18:53.998Z
636
aft_sprd_lib
3803, aft_proc_log_print: afm move diff : 0,diff_thr :0,diff_cnt : 0,g_diff(x,y,z):(0.196250,0.133750,0.093750),aem move diff : (num : r,g,b,cnt) = (0,0,0,0), scene_change_flag 0
2024-01-02T22:18:54.000Z
636
cmr_oem
9495, camera_get_af_support: af_support 1
2024-01-02T22:18:54.001Z
636
awb_adpt
1788, awb_sprd_ctrl_calculation_v3_2: AWB result : (1517,1024,1361) 5288K , fram_count : 304 , camera_id : 0, wb mode : 0; AWB lib 64x64: (1517,1024,1361) 5288K.
2024-01-02T22:18:54.006Z
636
cmr_sensor
922, cmr_sns_thread_proc: evt 524548
2024-01-02T22:18:54.339Z
5182
DEBUG
      #00 pc 00000000000ed984  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.339Z
5182
DEBUG
      #01 pc 00000000000d065c  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #02 pc 00000000000ca240  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #03 pc 00000000000c9f74  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #04 pc 00000000000ca4f0  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #05 pc 00000000000c8aa4  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #06 pc 00000000000c8b44  /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/lib/arm64/libbarhopper_v3.so (Java_com_google_android_libraries_barhopper_BarhopperV3_recognizeBufferNative+84) (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #07 pc 0000000000461554  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: 12e00d030bcfeb51f978c01791e0cd24)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #08 pc 000000000020b02c  /apex/com.android.art/lib64/libart.so (nterp_helper+7468) (BuildId: 12e00d030bcfeb51f978c01791e0cd24)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #09 pc 000000000024164c  [anon:dalvik-classes6.dex extracted in memory from /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/base.apk!classes6.dex]
2024-01-02T22:18:54.340Z
5182
DEBUG
      #10 pc 000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 12e00d030bcfeb51f978c01791e0cd24)
2024-01-02T22:18:54.340Z
5182
DEBUG
      #11 pc 00000000002f500c  [anon:dalvik-classes6.dex extracted in memory from /data/app/~~9f9_OYifhXHTmjH5WPiaig==/com.patrullaje-bHBfKM2WH00-OorXnqPfzA==/base.apk!classes6.dex]
2024-01-02T22:18:54.340Z
5182
DEBUG
      #12 pc 0000000002052568  /memfd:jit-cache (deleted)

Camera Device

{
  "sensorOrientation": "landscape-right",
  "hardwareLevel": "limited",
  "maxZoom": 8,
  "minZoom": 1,
  "maxExposure": 300,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "supportsFocus": true,
  "supportsRawCapture": false,
  "isMultiCam": false,
  "minExposure": -300,
  "name": "BACK (0)",
  "hasFlash": false,
  "hasTorch": false,
  "position": "back",
  "id": "0"
}

Device

Samung Tab A7

VisionCamera Version

3.6.16

Can you reproduce this issue in the VisionCamera Example app?

Yes, I can reproduce the same issue in the Example app here

Additional information

About this issue

  • Original URL
  • State: closed
  • Created 6 months ago
  • Reactions: 3
  • Comments: 28 (7 by maintainers)

Most upvoted comments

@mrousavy looks like this is it!! it did crash after a couple tries using 3.9.1 and we did not reproduce crashes (so far) with 4.0.0-beta.10. Awesome 🎉! thanks for your time and effort.

Btw, after more testing we found out that the issue was clearly a race condition when an unmount of the component did interrupt an ongoing scan.

Working on a fix for this issue here: https://github.com/mrousavy/react-native-vision-camera/pull/2494 👀

Still in development, so don’t test yet. Long way to go, this is a really complicated issue (as you can see in the changes/Files of that PR)…

@mrousavy For me it only crashes if the View containing the Camera component is conditionally rendered, i.e. programmatically hidden or set to be visible, if the said container is always visible and never gets hidden it won’t crash.

{isCamVisible ? ( <View> <Camera style={StyleSheet.absoluteFill} device={device} isActive={isCamActive} codeScanner={codeScanner} /> </View> ) : null}

@mrousavy I share you the full adb logcat logs (I exported from Android Studio) and a video of what I was doing. If you need something else let me know.

The code I was using is this (with the version 3.7.0)

import {useFocusEffect} from '@react-navigation/native';
import React, {useCallback, useEffect} from 'react';
import {StyleSheet, Text} from 'react-native';

import {
  Camera,
  useCameraDevice,
  useCameraPermission,
  useCodeScanner,
} from 'react-native-vision-camera';

export default function CamaraScreen(props: any) {
  const [isActive, setIsActive] = React.useState(true);
  const [isMount, setIsMount] = React.useState(true);

  const {hasPermission, requestPermission} = useCameraPermission();
  const device = useCameraDevice('back');

  useFocusEffect(
    useCallback(() => {
      console.log('Camera is mounted');
      setIsMount(true);
      return () => {
        console.log('Camera is unmounted');
        setIsMount(false);
      };
    }, []),
  );

  useEffect(() => {
    if (!hasPermission) {
      console.log(requestPermission());
    }
  }, [hasPermission, requestPermission]);

  const codeScanner = useCodeScanner({
    codeTypes: ['qr', 'ean-13'],
    onCodeScanned: codes => {
      //setIsActive(false);
      console.log(codes[0].value);
      props.navigation.navigate('ANOTHER_SCREEN'); // <-- crash
    },
  });

  if (device == null || !hasPermission) {
    return <Text>HasPermission False</Text>;
  }

  return isMount ? (
    <Camera
      style={styles.camera}
      device={device}
      isActive={isActive}
      audio={false}
      photo={false}
      video={false}
      codeScanner={codeScanner}
    />
  ) : null;
}
const styles = StyleSheet.create({
  camera: {
    width: 680,
    height: 680,
  },
});

https://github.com/mrousavy/react-native-vision-camera/assets/50101944/b4c1ec60-a799-4463-8a52-4b2672947675

samsung-SM-X205-Android-13_2024-01-09_123256.logcat.json

@mrousavy For me it only crashes if the View containing the Camera component is conditionally rendered, i.e. programmatically hidden or set to be visible, if the said container is always visible and never gets hidden it won’t crash.

For me the following workaround seems to work out:

I set Camera.isActive to false and wait a few moments before hiding the container

I just released a V4 beta, can you try if that fixes the bugs?

Same issue here.

"react-native-vision-camera": "3.9.0", 
"react-native": "^0.72.7",
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

Build fingerprint: 'Sony/A202SO/A202SO:13/65.1.D.3.9/065001D003000901165108286:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2024-02-26 14:56:17.717281136+0900
Process uptime: 7694s
Cmdline: com.mobilepart.teacher
pid: 28646, tid: 9262, name: pool-18-thread-  >>> com.mobilepart.teacher <<<
uid: 10687
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x000000721f0b01c2
    x0  000000721ef77a28  x1  0000000000000164  x2  000000755a81d2cc  x3  0000000000000010
    x4  0000000000000000  x5  000000721ef77de8  x6  b400007300000100  x7  000000721ef78620
    x8  0000000000000000  x9  00000000000000b2  x10 00000000000000a4  x11 b40000741ed9b450
    x12 00000000000000b1  x13 00000000000301c2  x14 000000721f0b01c2  x15 000000721f0afbc2
    x16 000000721f080000  x17 000000755a7820e4  x18 000000721f18cdf1  x19 000000721ef77b48
    x20 000000721ef77ae8  x21 000000721ef77c80  x22 00000000000000b2  x23 00000000000000a4
    x24 0000000000000000  x25 0000000000000100  x26 000000721ef786b8  x27 000000721ef78338
    x28 b40000729e3cb340  x29 000000721ef78820
    lr  00000070a735d598  sp  000000721ef77a20  pc  00000070a735d660  pst 0000000080001000
backtrace:
      #00 pc 00000000000ed660  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #01 pc 00000000000d03c8  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #02 pc 00000000000ca240  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #03 pc 00000000000c9f64  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #04 pc 00000000000ca4f0  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #05 pc 00000000000c8aa4  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #06 pc 00000000000c8b44  /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!libbarhopper_v3.so (Java_com_google_android_libraries_barhopper_BarhopperV3_recognizeBufferNative+84) (BuildId: cf64ac3d5cfd71b04d3bc4112d678e48)
      #07 pc 0000000000355630  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #08 pc 000000000033eba4  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #09 pc 000000000037c03c  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+300) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #10 pc 000000000037b860  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+1960) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #11 pc 00000000004985e4  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+11116) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #12 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #13 pc 000000000027cac0  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.android.libraries.barhopper.BarhopperV3.recognize+0)
      #14 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #15 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #16 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #17 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #18 pc 000000000034b900  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.barcode.bundled.internal.zzb.zzf+0)
      #19 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #20 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #21 pc 00000000004962a4  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+2092) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #22 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #23 pc 000000000034b9c4  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.barcode.bundled.internal.zzb.zzb+0)
      #24 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #25 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #26 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #27 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #28 pc 00000000001ee19c  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzbk.zza+0)
      #29 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #30 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #31 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #32 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #33 pc 00000000001ed990  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzb.onTransact+0)
      #34 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #35 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #36 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #37 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #38 pc 00000000001b9ee8  /system/framework/framework.jar (android.os.Binder.transact+0)
      #39 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #40 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #41 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #42 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #43 pc 00000000001c94ac  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.android.gms.internal.mlkit_vision_barcode.zza.zzb+0)
      #44 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #45 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #46 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #47 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #48 pc 00000000001eb780  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.android.gms.internal.mlkit_vision_barcode.zzvt.zzd+0)
      #49 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #50 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #51 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #52 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #53 pc 000000000034f124  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.barcode.internal.zzn.zza+0)
      #54 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #55 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #56 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #57 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #58 pc 000000000034e564  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.barcode.internal.zzk.zze+0)
      #59 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #60 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #61 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #62 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #63 pc 000000000034e544  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.barcode.internal.zzk.run+0)
      #64 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #65 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #66 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #67 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #68 pc 0000000000351bb0  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.common.internal.MobileVisionBase.zza+0)
      #69 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #70 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #71 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #72 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #73 pc 00000000003520b4  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.vision.common.internal.zza.call+0)
      #74 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #75 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #76 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #77 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #78 pc 00000000003464ec  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.ModelResource.zza+0)
      #79 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #80 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #81 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #82 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #83 pc 000000000034b0f4  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.zzn.run+0)
      #84 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #85 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #86 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #87 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #88 pc 000000000034b2c4  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.zzt.run+0)
      #89 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #90 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #91 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #92 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #93 pc 0000000000346254  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze+0)
      #94 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #95 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #96 pc 00000000004961dc  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1892) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #97 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #98 pc 0000000000346200  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc+0)
      #99 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #100 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #101 pc 00000000004961dc  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1892) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #102 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #103 pc 000000000034afec  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.zzk.run+0)
      #104 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #105 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #106 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #107 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #108 pc 00000000002474e4  /apex/com.android.art/javalib/core-oj.jar (java.util.concurrent.ThreadPoolExecutor.runWorker+0)
      #109 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #110 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #111 pc 0000000000495e6c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1012) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #112 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #113 pc 0000000000246380  /apex/com.android.art/javalib/core-oj.jar (java.util.concurrent.ThreadPoolExecutor$Worker.run+0)
      #114 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #115 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #116 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #117 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #118 pc 0000000000346228  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd+0)
      #119 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #120 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #121 pc 00000000004961dc  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+1892) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #122 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #123 pc 000000000034af70  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~o0DJueGdxsdbGpzbRNJrOg==/com.mobilepart.teacher-L6aGGx-wMPf4--6FR06KRA==/base.apk!classes19.dex] (com.google.mlkit.common.sdkinternal.zzi.run+0)
      #124 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #125 pc 00000000005136f0  /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+5252) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #126 pc 0000000000496d1c  /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+4772) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #127 pc 0000000000357dd8  /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #128 pc 000000000010eaf0  /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run+0)
      #129 pc 0000000000371b14  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.8722505846101882172)+232) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #130 pc 000000000037140c  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+964) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #131 pc 0000000000355768  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #132 pc 000000000033eba4  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #133 pc 000000000023a9ac  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #134 pc 000000000053b96c  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1600) (BuildId: 02bec5940be704b863f6514fc7d81c41)
      #135 pc 00000000000ba598  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208) (BuildId: 2938f6235116cbc48464ee0f7622625e)
      #136 pc 0000000000053f3c  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 2938f6235116cbc48464ee0f7622625e)

@mrousavy For me it only crashes if the View containing the Camera component is conditionally rendered, i.e. programmatically hidden or set to be visible, if the said container is always visible and never gets hidden it won’t crash.

{isCamVisible ? ( <View> <Camera style={StyleSheet.absoluteFill} device={device} isActive={isCamActive} codeScanner={codeScanner} /> </View> ) : null}

Same problem. Quick dirty workaround opacity: 0