Crash on Android 9.1 smart watch
See original GitHub issueHello. 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):
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:
- Created 2 years ago
- Comments:7 (3 by maintainers)
Top 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 >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
@G00fY2 FYI, I tried the CameraX sample, and got the same crash. opening the bug there. thanks
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