Skip to content

🐛 error libbarhopper_v3 Java_com_google_android_libraries_barhopper_BarhopperV3_recognizeBufferNative #3465

Description

@iliapnmrv

What's happening?

Hi! I've got a new crash in Sentry. I can also see them in the Google Play crashes. Only got it from one device.
The similar issue #2116 was fixed about a year ago

Looks like It is only reproducible on this device and unfortunately I do not have it

Here are the logs from Google Play

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 20028 >>> com.example.app <<<

backtrace:
  #00  pc 0x000000000041e4e0  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #01  pc 0x000000000041f30c  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #02  pc 0x000000000041dde8  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #03  pc 0x000000000041e314  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #04  pc 0x000000000041db38  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #05  pc 0x000000000041d448  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #06  pc 0x000000000041c2d8  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #07  pc 0x00000000000f49e4  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #08  pc 0x00000000000f42f8  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #09  pc 0x00000000000e46a8  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #10  pc 0x00000000000e41a8  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #11  pc 0x00000000000e4a08  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #12  pc 0x00000000000e1ce8  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #13  pc 0x00000000000e1e78  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (BuildId: 31faf13054616563bd553d8d71a935bb)
  #14  pc 0x00000000000e1e28  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/split_config.arm64_v8a.apk!libbarhopper_v3.so (Java_com_google_android_libraries_barhopper_BarhopperV3_recognizeBufferNative+84) (BuildId: 31faf13054616563bd553d8d71a935bb)
  #15  pc 0x000000000016989c  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/oat/arm64/base.odex (art_jni_trampoline+140)
  #16  pc 0x0000000002078fd0  /memfd:jit-cache (com.google.android.libraries.barhopper.BarhopperV3.recognize+96)
  #17  pc 0x0000000002059e38  /memfd:jit-cache (com.google.mlkit.vision.barcode.bundled.internal.zza.zzi+536)
  #18  pc 0x0000000002032fe4  /memfd:jit-cache (com.google.mlkit.vision.barcode.bundled.internal.zza.zzj+580)
  #19  pc 0x000000000077fa20  /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
  #20  pc 0x00000000002ecbd4  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.vision.barcode.bundled.internal.zza.zzb+8)
  #21  pc 0x0000000002054804  /memfd:jit-cache (com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzbm.zza+820)
  #22  pc 0x000000000077fa20  /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
  #23  pc 0x0000000000216db4  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.android.gms.internal.mlkit_vision_barcode_bundled.zzb.onTransact+40)
  #24  pc 0x0000000000a6aa40  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (android.os.Binder.transact+144)
  #25  pc 0x0000000000780ebc  /apex/com.android.art/lib64/libart.so (nterp_helper+9292)
  #26  pc 0x00000000001efff6  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.android.gms.internal.mlkit_vision_barcode.zza.zzb+14)
  #27  pc 0x000000000205d364  /memfd:jit-cache (com.google.android.gms.internal.mlkit_vision_barcode.zzyl.zzd+228)
  #28  pc 0x0000000002031fb0  /memfd:jit-cache (com.google.mlkit.vision.barcode.internal.zzo.zza+1040)
  #29  pc 0x000000000205a908  /memfd:jit-cache (com.google.mlkit.vision.barcode.internal.zzl.zze+248)
  #30  pc 0x000000000077fa20  /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
  #31  pc 0x00000000002ef668  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.vision.barcode.internal.zzl.run+4)
  #32  pc 0x000000000206ddbc  /memfd:jit-cache (com.google.mlkit.vision.common.internal.MobileVisionBase.zza+220)
  #33  pc 0x000000000207df78  /memfd:jit-cache (com.google.mlkit.vision.common.internal.zza.call+72)
  #34  pc 0x000000000205b584  /memfd:jit-cache (com.google.mlkit.common.sdkinternal.ModelResource.zza+372)
  #35  pc 0x000000000077fa20  /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
  #36  pc 0x00000000002ec3b4  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.common.sdkinternal.zzn.run+20)
  #37  pc 0x000000000205f614  /memfd:jit-cache (com.google.mlkit.common.sdkinternal.zzt.run+196)
  #38  pc 0x000000000205fc4c  /memfd:jit-cache (com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze+252)
  #39  pc 0x000000000077eb08  /apex/com.android.art/lib64/libart.so (nterp_helper+152)
  #40  pc 0x00000000002e7618  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc+16)
  #41  pc 0x000000000077eaa4  /apex/com.android.art/lib64/libart.so (nterp_helper+52)
  #42  pc 0x00000000002ec220  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.common.sdkinternal.zzi.run+4)
  #43  pc 0x000000000054a2a4  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+804)
  #44  pc 0x0000000000547880  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
  #45  pc 0x0000000000780844  /apex/com.android.art/lib64/libart.so (nterp_helper+7636)
  #46  pc 0x00000000002e7644  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd+20)
  #47  pc 0x000000000077eaa4  /apex/com.android.art/lib64/libart.so (nterp_helper+52)
  #48  pc 0x00000000002ec29c  /data/app/~~L7nLO67B1CrqKMmZmMnVUg==/com.example.app-bSgo2dJPvTD2Ogrx4_khPA==/base.apk (com.google.mlkit.common.sdkinternal.zzk.run+4)
  #49  pc 0x000000000040f2e8  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Thread.run+72)
  #50  pc 0x000000000036db74  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
  #51  pc 0x0000000000359324  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132)
  #52  pc 0x0000000000944438  /apex/com.android.art/lib64/libart.so (art::detail::ShortyTraits<(char)86>::Type art::ArtMethod::InvokeInstance<(char)86>(art::Thread*, art::ObjPtr<art::mirror::Object>, art::detail::ShortyTraits<>::Type...)+60)
  #53  pc 0x00000000006209f4  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344)
  #54  pc 0x00000000000fd134  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #55  pc 0x0000000000096ae4  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)

Reproduceable Code

// I cannot reproduce it, I only get it on one device in Sentry

const device = useCameraDevice("back", {
    physicalDevices: [
      'ultra-wide-angle-camera',
      'telephoto-camera',
      'wide-angle-camera',
    ],
});

const format =
    device &&
    getCameraFormat(device, [
      {fps: 20},
      {videoAspectRatio: screenAspectRatio},
      {videoResolution: 'max'},
      {photoAspectRatio: screenAspectRatio},
      {photoResolution: 'max'},
      {
        autoFocusSystem: 'contrast-detection',
      },
    ]);

const codeScanner = useCodeScanner({
    codeTypes: [],
    onCodeScanned,
});

const isActive = isFocused && isForeground;

<Camera
    format={format}
    zoom={device.neutralZoom}
    device={device}
    isActive={isActive}
    style={StyleSheet.absoluteFillObject}
    onError={onError}
    codeScanner={codeScanner}
/>

Relevant log output

15:56:27.909 I CameraSession: Output orientation changed! LANDSCAPE_LEFT
15:56:27.909 I CameraView:    invokeOnOutputOrientationChanged(LANDSCAPE_LEFT)
15:56:27.910 I CameraSession: Output orientation changed! PORTRAIT
15:56:27.910 I CameraView:    invokeOnOutputOrientationChanged(PORTRAIT)

15:56:28.134 I CameraSession: Output orientation changed! LANDSCAPE_LEFT
15:56:28.134 I CameraView:    invokeOnOutputOrientationChanged(LANDSCAPE_LEFT)
15:56:28.134 I CameraSession: Output orientation changed! PORTRAIT
15:56:28.134 I CameraView:    invokeOnOutputOrientationChanged(PORTRAIT)
15:56:28.135 I CameraSession: Output orientation changed! LANDSCAPE_LEFT
15:56:28.135 I CameraView:    invokeOnOutputOrientationChanged(LANDSCAPE_LEFT)
15:56:28.181 I CameraView:    invokeOnAverageFpsChanged(0.0)

15:56:28.360 I CameraSession: Output orientation changed! PORTRAIT
15:56:28.361 I CameraView:    invokeOnOutputOrientationChanged(PORTRAIT)
15:56:28.361 I CameraSession: Output orientation changed! LANDSCAPE_LEFT
15:56:28.361 I CameraView:    invokeOnOutputOrientationChanged(LANDSCAPE_LEFT)
15:56:29.182 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:30.183 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:31.183 I CameraView:    invokeOnAverageFpsChanged(0.0)

15:56:31.631 I CameraSession: Output orientation changed! LANDSCAPE_LEFT
15:56:31.631 I CameraView:    invokeOnOutputOrientationChanged(LANDSCAPE_LEFT)
15:56:31.855 I CameraSession: Output orientation changed! PORTRAIT
15:56:31.856 I CameraView:    invokeOnOutputOrientationChanged(PORTRAIT)
15:56:32.183 I CameraView:    invokeOnAverageFpsChanged(0.0)

15:56:32.758 I CameraSession: Output orientation changed! LANDSCAPE_LEFT
15:56:32.758 I CameraView:    invokeOnOutputOrientationChanged(LANDSCAPE_LEFT)
15:56:32.982 I CameraSession: Output orientation changed! PORTRAIT
15:56:32.983 I CameraView:    invokeOnOutputOrientationChanged(PORTRAIT)
15:56:33.184 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:34.184 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:35.185 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:36.185 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:37.185 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:38.186 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:39.185 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:40.185 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:41.186 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:42.186 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:43.186 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:44.186 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:45.186 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:46.187 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:47.187 I CameraView:    invokeOnAverageFpsChanged(0.0)
15:56:47.701 E SIGSEGV: Segfault

Camera Device

{
  "formats": [],
  "sensorOrientation": "landscape-left",
  "hardwareLevel": "full",
  "maxZoom": 10,
  "minZoom": 1,
  "maxExposure": 24,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "supportsFocus": true,
  "supportsRawCapture": false,
  "isMultiCam": false,
  "minFocusDistance": 0,
  "minExposure": -24,
  "name": "0 (BACK) androidx.camera.camera2",
  "hasFlash": true,
  "hasTorch": true,
  "position": "back",
  "id": "0"
}

Device

Xiaomi 12 Lite (Android 14)

VisionCamera Version

4.6.4

Can you reproduce this issue in the VisionCamera Example app?

No, I cannot reproduce the issue in the Example app

Additional information

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐛 bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions