question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Crash on Android 9.1 smart watch

See original GitHub issue

Hello. I am trying to use the library on an Android 9.1 smart watch. When the code makes the call where the breakpoint is currently set (QRScannerActivity.kt:87):

image

the internals of the library will start barfing exception stacks in logcat and eventually crash the application. The watch has a dual camera, and I am successfully using the library on another dual camera watch with Android 9 (not sure that the version is the reason, but mentioning anyway).

This is the logcat dump. Any idea is welcome…

2021-11-04 16:18:29.837 4502-4604/io.sensoria.motus.watch W/CameraX: Retry init. Start time 234185466 current time 234185660
    java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
2021-11-04 16:18:29.864 4502-4571/io.sensoria.motus.watch I/gralloc: gralloc_register_buffer hnd=0x7d68a91040, share_fd=91, share_attr_fd=-1, magic=51647890, format=1, internal_format=1, byte_stride=960, flags=4, usage=0xb00, size=50880, width=240, height=53, internalWidth=240, internalHeight=53, stride=240, base=0x7d5340a000, writeOwner=0, attr_base=0xffffffffffffffff, yuv_info=1, fd=-1, buf_idx=0, offset=0, min_pgsz=4096, phyaddr=0
2021-11-04 16:18:29.874 4502-4571/io.sensoria.motus.watch I/gralloc: gralloc_register_buffer hnd=0x7d68a91880, share_fd=92, share_attr_fd=-1, magic=51647890, format=1, internal_format=1, byte_stride=1600, flags=4, usage=0xb00, size=640000, width=400, height=400, internalWidth=400, internalHeight=400, stride=400, base=0x7d51cbf000, writeOwner=0, attr_base=0xffffffffffffffff, yuv_info=1, fd=-1, buf_idx=0, offset=0, min_pgsz=4096, phyaddr=0
2021-11-04 16:18:30.390 4502-4605/io.sensoria.motus.watch D/CameraRepository: Added camera: 0
2021-11-04 16:18:30.402 4502-4605/io.sensoria.motus.watch W/CameraX: Retry init. Start time 234185466 current time 234186222
    java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
2021-11-04 16:18:30.959 4502-4604/io.sensoria.motus.watch D/CameraRepository: Added camera: 0
2021-11-04 16:18:30.968 4502-4604/io.sensoria.motus.watch W/CameraX: Retry init. Start time 234185466 current time 234186789
    java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
2021-11-04 16:18:31.514 4502-4605/io.sensoria.motus.watch D/CameraRepository: Added camera: 0
2021-11-04 16:18:31.522 4502-4605/io.sensoria.motus.watch W/CameraX: Retry init. Start time 234185466 current time 234187344
    java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
2021-11-04 16:18:32.081 4502-4604/io.sensoria.motus.watch D/CameraRepository: Added camera: 0
2021-11-04 16:18:32.089 4502-4604/io.sensoria.motus.watch W/CameraX: Retry init. Start time 234185466 current time 234187911
    java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
2021-11-04 16:18:32.645 4502-4605/io.sensoria.motus.watch D/CameraRepository: Added camera: 0
2021-11-04 16:18:32.657 4502-4605/io.sensoria.motus.watch W/CameraX: CameraX initialize() failed
    androidx.camera.core.InitializationException: java.nio.BufferUnderflowException
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:632)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
     Caused by: java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10) 
        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:764) 
2021-11-04 16:18:32.662 4502-4502/io.sensoria.motus.watch D/AndroidRuntime: Shutting down VM


2021-11-04 16:18:32.672 4502-4502/io.sensoria.motus.watch E/AndroidRuntime: FATAL EXCEPTION: main
    Process: io.sensoria.motus.watch, PID: 4502
    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:504)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
     Caused by: java.util.concurrent.ExecutionException: androidx.camera.core.InitializationException: java.nio.BufferUnderflowException
        at androidx.concurrent.futures.AbstractResolvableFuture.getDoneValue(AbstractResolvableFuture.java:518)
        at androidx.concurrent.futures.AbstractResolvableFuture.get(AbstractResolvableFuture.java:475)
        at androidx.concurrent.futures.CallbackToFutureAdapter$SafeFuture.get(CallbackToFutureAdapter.java:199)
        at androidx.camera.core.impl.utils.futures.FutureChain.get(FutureChain.java:155)
        at androidx.camera.core.impl.utils.futures.ChainingListenableFuture.get(ChainingListenableFuture.java:105)
        at io.github.g00fy2.quickie.QRScannerActivity.startCamera$lambda-5(QRScannerActivity.kt:87)
        at io.github.g00fy2.quickie.QRScannerActivity.lambda$-YPR5sJr3fvd3r2wXus03U7rQDI(Unknown Source:0)
        at io.github.g00fy2.quickie.-$$Lambda$QRScannerActivity$-YPR5sJr3fvd3r2wXus03U7rQDI.run(Unknown Source:4)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6865)
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:504) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 
     Caused by: androidx.camera.core.InitializationException: java.nio.BufferUnderflowException
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:632)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10)
        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:764)
     Caused by: java.nio.BufferUnderflowException
        at java.nio.Buffer.nextGetIndex(Buffer.java:515)
        at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:111)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:45)
        at android.hardware.camera2.marshal.impl.MarshalQueryableBoolean$MarshalerBoolean.unmarshal(MarshalQueryableBoolean.java:32)
        at android.hardware.camera2.impl.CameraMetadataNative.getBase(CameraMetadataNative.java:532)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:404)
        at android.hardware.camera2.impl.CameraMetadataNative.get(CameraMetadataNative.java:373)
        at android.hardware.camera2.CameraCharacteristics.get(CameraCharacteristics.java:223)
        at androidx.camera.camera2.internal.compat.CameraCharacteristicsCompat.get(CameraCharacteristicsCompat.java:73)
        at androidx.camera.camera2.internal.TorchControl.<init>(TorchControl.java:79)
        at androidx.camera.camera2.internal.Camera2CameraControlImpl.<init>(Camera2CameraControlImpl.java:181)
        at androidx.camera.camera2.internal.Camera2CameraImpl.<init>(Camera2CameraImpl.java:205)
        at androidx.camera.camera2.internal.Camera2CameraFactory.getCamera(Camera2CameraFactory.java:74)
        at androidx.camera.core.impl.CameraRepository.init(CameraRepository.java:64)
        at androidx.camera.core.CameraX.lambda$initAndRetryRecursively$9$CameraX(CameraX.java:596)
        at androidx.camera.core.-$$Lambda$CameraX$u-Xx2b6YXY5GXNXRh-mDiDnHdpQ.run(Unknown Source:10) 
        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:764) 

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
mmacagnocommented, Jan 28, 2022

@G00fY2 FYI, I tried the CameraX sample, and got the same crash. opening the bug there. thanks

0reactions
mmacagnocommented, May 24, 2022

Hello @G00fY2. The Android team release a fix for this. In order to make it work in your library, you should upgrade to latest camerax, or at a minimum to

androidx.camera:camera-*:1.1.0-rc01

Read more comments on GitHub >

github_iconTop Results From Across the Web

App keeps crashing and nothing I do can fix it - Google Support
On the phone, go to Settings > Connected devices > Bluetooth, tap the gear icon next to your watch's name (if it's listed),...
Read more >
CameraXBasic crash on Android 9.1 ... - Issue Tracker
DEVICE NAME: (Nexus 5X, Samsung S6, etc) LEMP (an Android Smart Watch) DESCRIPTION: I can successfully run Camera2Basic. When I run CameraXBasic, ...
Read more >
Samsung smart watch app crashes, freezes, or doesn't respond
If the app is unstable, the app may not open, frequently crash or freeze, or becomes unresponsive. To fix the problem, try restarting...
Read more >
Android Wear App Freezes during set-up - OnePlus Community
HiSo I have a OnePlus 3 (OxygenOS 5.0 & Android 8)I bought a Huawei Smartwatch 2 Sport. ... Android Wear App Freezes when...
Read more >
About watchOS 9 Updates - Apple Support
watchOS 9.1. This update includes improvements for your Apple Watch. Battery life extended during Outdoor Walking, Running, and Hiking Workouts ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found