saki4510t / UVCCamera

library and sample to access to UVC web camera on non-rooted Android device
2.96k stars 1.19k forks source link

Crash: 'Invalid address 0x7c8286ba00 passed to free: value not allocated' #645

Open zipswich opened 2 years ago

zipswich commented 2 years ago

usbCameraTest8 works fine for starting camera streaming but it crashes when the button is toggled to stop the video:

********** Crash dump: **********
Build fingerprint: 'Android/sdm660_64/sdm660_64:9/PKQ1.190319.001/sw09090959:user/release-keys'
Abort message: 'Invalid address 0x7c8286ba00 passed to free: value not allocated'
#00 0x0000000000022080 /system/lib64/libc.so (abort+116)
#01 0x00000000000b61ec /system/lib64/libc.so (ifree+1172)
#02 0x00000000000b62f8 /system/lib64/libc.so (je_free+120)
#03 0x000000000000af48 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/base.apk (offset 0x5c000) (uvc_free_frame+36)
#04 0x0000000000012594 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/base.apk (offset 0x2e8000) (UVCPreview::clear_pool()+56)
#05 0x0000000000012374 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/base.apk (offset 0x2e8000) (UVCPreview::~UVCPreview()+100)
#06 0x000000000000b590 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/base.apk (offset 0x2e8000) (UVCCamera::release()+104)
#07 0x0000000000029fc8 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.odex (offset 0x26000) (com.serenegiant.usb.UVCCamera.nativeRelease+152)
#08 0x000000000055564c /system/lib64/libart.so (art_quick_invoke_static_stub+604)
#09 0x00000000000cf714 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232)
#10 0x000000000027f2e0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
#11 0x00000000002792e8 /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+968)
#12 0x0000000000525e5c /system/lib64/libart.so (MterpInvokeStatic+204)
#13 0x0000000000547a94 /system/lib64/libart.so (ExecuteMterpImpl+14612)
#14 0x000000000032c592 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.vdex (com.serenegiant.usb.UVCCamera.close+24)
#15 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#16 0x0000000000258ae0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#17 0x00000000002792cc /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#18 0x0000000000524958 /system/lib64/libart.so (MterpInvokeVirtual+588)
#19 0x0000000000547914 /system/lib64/libart.so (ExecuteMterpImpl+14228)
#20 0x000000000032c5e6 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.vdex (com.serenegiant.usb.UVCCamera.destroy+2)
#21 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#22 0x0000000000258ae0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#23 0x00000000002792cc /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#24 0x0000000000524958 /system/lib64/libart.so (MterpInvokeVirtual+588)
#25 0x0000000000547914 /system/lib64/libart.so (ExecuteMterpImpl+14228)
#26 0x000000000032b66e /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.vdex (com.serenegiant.usbcameracommon.AbstractUVCCameraHandler$CameraThread.handleClose+48)
#27 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#28 0x0000000000258ae0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#29 0x00000000002792cc /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#30 0x0000000000524958 /system/lib64/libart.so (MterpInvokeVirtual+588)
#31 0x0000000000547914 /system/lib64/libart.so (ExecuteMterpImpl+14228)
#32 0x000000000032b832 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.vdex (com.serenegiant.usbcameracommon.AbstractUVCCameraHandler.handleMessage+162)
#33 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#34 0x0000000000258ae0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#35 0x00000000002792cc /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#36 0x0000000000524ff0 /system/lib64/libart.so (MterpInvokeSuper+1420)
#37 0x0000000000547994 /system/lib64/libart.so (ExecuteMterpImpl+14356)
#38 0x000000000032b88c /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.vdex (com.serenegiant.usbcameracommon.UVCCameraHandler.handleMessage)
#39 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#40 0x0000000000258ae0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#41 0x00000000002792cc /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#42 0x0000000000524958 /system/lib64/libart.so (MterpInvokeVirtual+588)
#43 0x0000000000547914 /system/lib64/libart.so (ExecuteMterpImpl+14228)
#44 0x0000000000b006d2 /system/framework/boot-framework.vdex (android.os.Handler.dispatchMessage+42)
#45 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#46 0x0000000000258ae0 /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
#47 0x00000000002792cc /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+940)
#48 0x0000000000524958 /system/lib64/libart.so (MterpInvokeVirtual+588)
#49 0x0000000000547914 /system/lib64/libart.so (ExecuteMterpImpl+14228)
#50 0x0000000000b077c0 /system/framework/boot-framework.vdex (android.os.Looper.loop+404)
#51 0x0000000000252fec /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.1080554632+488)
#52 0x00000000005151ec /system/lib64/libart.so (artQuickToInterpreterBridge+1020)
#53 0x000000000055e4fc /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
#54 0x000000000006e390 /data/app/com.serenegiant.usbcameratest8-tunttIM9EnXbCM3Z1hPCJg==/oat/arm64/base.odex (offset 0x26000) (com.serenegiant.usbcameracommon.AbstractUVCCameraHandler$CameraThread.run+656)
#55 0x0000000000555388 /system/lib64/libart.so (art_quick_invoke_stub+584)
#56 0x00000000000cf6f4 /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
#57 0x000000000045ca48 /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+1
04)
#58 0x000000000045db04 /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
#59 0x00000000004889e0 /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
#60 0x0000000000092090 /system/lib64/libc.so (__pthread_start(void*)+36)
#61 0x000000000002393c /system/lib64/libc.so (__start_thread+68)
Crash dump is completed

Could anyone offer a tip on how to fix this?

versionBuildTool = '30.0.2'
versionCompiler = 31
versionTarget = 27