Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

processor.onNewFrame(bitmap, long): JNI DETECTED ERROR IN APPLICATION: GetStringUTFChars received NULL jstring #1645

Closed
abiemann opened this issue Feb 22, 2021 · 6 comments
Assignees
Labels
platform:android Issues with Android as Platform type:support General questions

Comments

@abiemann
Copy link

I'm seeing the following crash after a call to (the very first frame after app launch) :
processor.onNewFrame(bitmap, System.currentTimeMillis());

2021-02-22 11:34:10.403 23369-23369/com.example.mediapipemultihandstrackingapp E/native: session.cc:2328 Invalid ray produced by view data!
2021-02-22 11:34:10.462 23369-23450/com.example.mediapipemultihandstrackingapp E/ACameraMetadata: filterDurations: malformed duration key 1638408! count 0, type 3
2021-02-22 11:34:10.770 23369-23471/com.example.mediapipemultihandstrackingapp E/ACameraMetadata: getConstEntry: cannot find metadata tag 65578
2021-02-22 11:34:19.748 23369-23461/com.example.mediapipemultihandstrackingapp E/native: bundle_adjustment_initializer.cc:665 Measurements not available in all keyframes. At least one keyframe has no features in any of the cameras.
2021-02-22 11:34:19.748 23369-23461/com.example.mediapipemultihandstrackingapp E/native: bundle_adjustment_initializer.cc:145 Failed to initialize the network.
2021-02-22 11:34:19.748 23369-23461/com.example.mediapipemultihandstrackingapp E/native: vio_initializer.cc:611 Initializer's BA failed to produce a valid output!
2021-02-22 11:34:19.852 23369-23461/com.example.mediapipemultihandstrackingapp E/native: bundle_adjustment_initializer.cc:703 SSBA does not get enough landmarks. Found 1 < 16
2021-02-22 11:34:19.852 23369-23461/com.example.mediapipemultihandstrackingapp E/native: bundle_adjustment_initializer.cc:145 Failed to initialize the network.
2021-02-22 11:34:19.852 23369-23461/com.example.mediapipemultihandstrackingapp E/native: vio_initializer.cc:611 Initializer's BA failed to produce a valid output!
2021-02-22 11:34:19.952 23369-23461/com.example.mediapipemultihandstrackingapp E/native: vio_initializer.cc:611 Initializer's BA failed to produce a valid output!
2021-02-22 11:34:20.058 23369-23461/com.example.mediapipemultihandstrackingapp E/native: vio_initializer.cc:611 Initializer's BA failed to produce a valid output!
2021-02-22 11:34:20.178 23369-23369/com.example.mediapipemultihandstrackingapp E/native: hit_test.cc:427 generic::internal: No point hit.
2021-02-22 11:34:20.190 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: java_vm_ext.cc:570] JNI DETECTED ERROR IN APPLICATION: GetStringUTFChars received NULL jstring
2021-02-22 11:34:20.190 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: java_vm_ext.cc:570] in call to GetStringUTFChars
2021-02-22 11:34:20.190 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: java_vm_ext.cc:570] from void com.google.mediapipe.framework.Graph.nativeMovePacketToInputStream(long, java.lang.String, long, long)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] Runtime aborting...
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] Dumping all threads without mutator lock held
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] All threads:
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] DALVIK THREADS (26):
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] "main" prio=7 tid=1 Runnable
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] | group="" sCount=0 dsCount=0 flags=0 obj=0x71ab24b0 self=0x722a56f000
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] | sysTid=23369 nice=-4 cgrp=default sched=0/0 handle=0x722bae5ee8
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] | state=R schedstat=( 1787234924 37702847 2969 ) utm=121 stm=57 core=5 HZ=100
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] | stack=0x7fe4d08000-0x7fe4d0a000 stackSize=8192KB
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] | held mutexes= "abort lock" "mutator lock"(shared held)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #00 pc 0000000000411f28 /apex/com.android.runtime/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits>&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+140)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #1 pc 00000000004fa274 /apex/com.android.runtime/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits>&, bool, BacktraceMap*, bool) const+512)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #2 pc 00000000005148d4 /apex/com.android.runtime/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+828)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #3 pc 000000000050da3c /apex/com.android.runtime/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+560)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #4 pc 000000000050ceb8 /apex/com.android.runtime/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits>&, bool)+1964)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #5 pc 00000000004b9d70 /apex/com.android.runtime/lib64/libart.so (art::Runtime::Abort(char const*)+1452)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #6 pc 000000000000b458 /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+580)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #7 pc 0000000000378704 /apex/com.android.runtime/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1584)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #8 pc 0000000000378928 /apex/com.android.runtime/lib64/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+108)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #9 pc 000000000036ad50 /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...)+136)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #10 pc 000000000036a3a0 /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckInstance(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck::InstanceKind, _jobject*, bool)+420)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #11 pc 00000000003695f0 /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::CheckPossibleHeapValue(art::ScopedObjectAccess&, char, art::(anonymous namespace)::JniValueType)+580)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #12 pc 0000000000368c0c /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*)+652)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #13 pc 0000000000371d04 /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::CheckJNI::GetStringCharsInternal(char const*, _JNIEnv*, _jstring*, unsigned char*, bool, bool)+676)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #14 pc 00000000009b0658 /data/app/com.example.mediapipemultihandstrackingapp-SppemU6jDPNIfFzdZ488Hw==/lib/arm64/libmediapipe_jni.so (mediapipe::android::JStringToStdString(_JNIEnv*, _jstring*)+64)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #15 pc 000000000046f484 /data/app/com.example.mediapipemultihandstrackingapp-SppemU6jDPNIfFzdZ488Hw==/lib/arm64/libmediapipe_jni.so (Java_com_google_mediapipe_framework_Graph_nativeMovePacketToInputStream+60)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #16 pc 0000000000140350 /apex/com.android.runtime/lib64/libart.so (art_quick_generic_jni_trampoline+144)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #17 pc 0000000000137334 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #18 pc 0000000000145fec /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #19 pc 00000000002e3d88 /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #20 pc 00000000002e09a4 /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<true, true>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1752)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #21 pc 00000000002fc298 /apex/com.android.runtime/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<true, false>(art::interpreter::SwitchImplContext*)+10620)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #22 pc 0000000000142bd8 /apex/com.android.runtime/lib64/libart.so (ExecuteSwitchImplAsm+8)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #23 pc 000000000032c3b0 [anon:dalvik-classes.dex extracted in memory from /data/app/com.example.mediapipemultihandstrackingapp-SppemU6jDPNIfFzdZ488Hw==/base.apk] (com.google.mediapipe.framework.Graph.addConsumablePacketToInputStream)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #24 pc 00000000002b5194 /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.5265544416275788233+488)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #25 pc 00000000002baea0 /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #26 pc 00000000002defc8 /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+860)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #27 pc 00000000005a1c04 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+648)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #28 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #29 pc 00000000003205be [anon:dalvik-classes.dex extracted in memory from /data/app/com.example.mediapipemultihandstrackingapp-SppemU6jDPNIfFzdZ488Hw==/base.apk] (com.google.mediapipe.components.FrameProcessor.onNewFrame+70)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #30 pc 00000000002b509c /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.5265544416275788233+240)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #31 pc 000000000059316c /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1032)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #32 pc 0000000000140468 /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #33 pc 0000000002019954 /memfd:/jit-cache (deleted) (com.example.mediapipemultihandstrackingapp.MainActivity.onUpdateFrame+1524)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #34 pc 000000000201c4f0 /memfd:/jit-cache (deleted) (com.example.mediapipemultihandstrackingapp.-$$Lambda$9fPBN9aaDNkiJv7Cm2mmnuBcbTg.onUpdate+64)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #35 pc 00000000020127b0 /memfd:/jit-cache (deleted) (com.google.ar.sceneform.Scene.dispatchUpdate+208)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #36 pc 000000000201aae4 /memfd:/jit-cache (deleted) (com.google.ar.sceneform.SceneView.doUpdate+196)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #37 pc 0000000002012bb4 /memfd:/jit-cache (deleted) (com.google.ar.sceneform.SceneView.doFrameNoRepost+164)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #38 pc 0000000002010e70 /memfd:/jit-cache (deleted) (com.google.ar.sceneform.SceneView.doFrame+96)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #39 pc 000000000200d7e0 /memfd:/jit-cache (deleted) (android.view.Choreographer$CallbackRecord.run+160)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #40 pc 00000000020066b4 /memfd:/jit-cache (deleted) (android.view.Choreographer.doCallbacks+564)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #41 pc 00000000020076b4 /memfd:/jit-cache (deleted) (android.view.Choreographer.doFrame+964)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #42 pc 000000000200ed74 /memfd:/jit-cache (deleted) (android.view.Choreographer$FrameDisplayEventReceiver.run+84)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #43 pc 00000000020174d4 /memfd:/jit-cache (deleted) (android.os.Handler.handleCallback+68)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #44 pc 000000000201b9e0 /memfd:/jit-cache (deleted) (android.os.Handler.dispatchMessage+64)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #45 pc 0000000000137334 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_stub+548)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #46 pc 0000000000145fec /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+244)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #47 pc 00000000002e3d88 /apex/com.android.runtime/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+384)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #48 pc 00000000002defe8 /apex/com.android.runtime/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+892)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #49 pc 00000000005a1c04 /apex/com.android.runtime/lib64/libart.so (MterpInvokeVirtual+648)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #50 pc 0000000000131814 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_virtual+20)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #51 pc 000000000039daae /system/framework/framework.jar (android.os.Looper.loop+466)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #52 pc 00000000005a4974 /apex/com.android.runtime/lib64/libart.so (MterpInvokeStatic+1040)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #53 pc 0000000000131994 /apex/com.android.runtime/lib64/libart.so (mterp_op_invoke_static+20)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #54 pc 00000000001a85ac /system/framework/framework.jar (android.app.ActivityThread.main+208)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #55 pc 00000000002b509c /apex/com.android.runtime/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.5265544416275788233+240)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #56 pc 000000000059316c /apex/com.android.runtime/lib64/libart.so (artQuickToInterpreterBridge+1032)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #57 pc 0000000000140468 /apex/com.android.runtime/lib64/libart.so (art_quick_to_interpreter_bridge+88)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #58 pc 00000000001375b8 /apex/com.android.runtime/lib64/libart.so (art_quick_invoke_static_stub+568)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #59 pc 000000000014600c /apex/com.android.runtime/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+276)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #60 pc 00000000004b18a0 /apex/com.android.runtime/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #61 pc 00000000004b3444 /apex/com.android.runtime/lib64/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+1480)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] native: #62 pc 000000000043e1e4 /apex/com.android.runtime/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+52)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.mediapipe.framework.Graph.nativeMovePacketToInputStream(Native method)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.mediapipe.framework.Graph.addConsumablePacketToInputStream(Graph.java:360)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] - locked <0x020d7983> (a com.google.mediapipe.framework.Graph)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.mediapipe.components.FrameProcessor.onNewFrame(FrameProcessor.java:496)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.example.mediapipemultihandstrackingapp.MainActivity.onUpdateFrame(MainActivity.java:246)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.example.mediapipemultihandstrackingapp.-$$Lambda$9fPBN9aaDNkiJv7Cm2mmnuBcbTg.onUpdate(lambda:-1)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.ar.sceneform.Scene.dispatchUpdate(SourceFile:130)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.ar.sceneform.SceneView.doUpdate(SourceFile:104)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.ar.sceneform.SceneView.doFrameNoRepost(SourceFile:91)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.google.ar.sceneform.SceneView.doFrame(SourceFile:86)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.view.Choreographer$CallbackRecord.run(Choreographer.java:997)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.view.Choreographer.doCallbacks(Choreographer.java:797)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.view.Choreographer.doFrame(Choreographer.java:728)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:984)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.os.Handler.handleCallback(Handler.java:883)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.os.Handler.dispatchMessage(Handler.java:100)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.os.Looper.loop(Looper.java:237)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at android.app.ActivityThread.main(ActivityThread.java:7971)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at java.lang.reflect.Method.invoke(Native method)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)
2021-02-22 11:34:20.337 23369-23369/com.example.mediapipemultihandstrackingapp A/andstrackingap: runtime.cc:641]

     /**
     * Called every frame to copy the buffer and pipe into MediaPipe
     * @param frameTime
     */
    public void onUpdateFrame(FrameTime frameTime) {
        if (arFragment.getArSceneView().getSession() == null) {
            return;
        }

        Frame frame = arFragment.getArSceneView().getArFrame();
        if (frame == null) {
            return;
        }

        // If ARCore is not tracking yet, then don't process anything.
        if (frame.getCamera().getTrackingState() != TrackingState.TRACKING) {
            return;
        }


        // Copy the camera stream to a bitmap
        try (Image cameraImage = frame.acquireCameraImage()) {
            if (cameraImage.getFormat() != ImageFormat.YUV_420_888) {
                throw new IllegalArgumentException(
                        "Expected image in YUV_420_888 format, got format " + cameraImage.getFormat());
            }

            // The camera image received is in YUV YCbCr Format.
            // Get buffers for each of the planes and use them to create a new bytearray defined by the size of all three buffers combined
            ByteBuffer cameraPlaneY = cameraImage.getPlanes()[0].getBuffer();
            ByteBuffer cameraPlaneU = cameraImage.getPlanes()[1].getBuffer();
            ByteBuffer cameraPlaneV = cameraImage.getPlanes()[2].getBuffer();

            byte[] compositeByteArray = new byte[(cameraPlaneY.capacity() + cameraPlaneU.capacity() + cameraPlaneV.capacity())];

            cameraPlaneY.get(compositeByteArray, 0, cameraPlaneY.capacity());
            cameraPlaneU.get(compositeByteArray, cameraPlaneY.capacity(), cameraPlaneU.capacity());
            cameraPlaneV.get(compositeByteArray, cameraPlaneY.capacity() + cameraPlaneU.capacity(), cameraPlaneV.capacity());

            ByteArrayOutputStream baOutputStream = new ByteArrayOutputStream();
            YuvImage yuvImage = new YuvImage(compositeByteArray, ImageFormat.NV21, cameraImage.getWidth(), cameraImage.getHeight(), null);
            yuvImage.compressToJpeg(new Rect(0, 0, cameraImage.getWidth(), cameraImage.getHeight()), 75, baOutputStream);
            byte[] byteForBitmap = baOutputStream.toByteArray();
            Bitmap bitmap = BitmapFactory.decodeByteArray(byteForBitmap, 0, byteForBitmap.length);

            bitmap = Bitmap.createScaledBitmap(bitmap, INPUT_SIZE, INPUT_SIZE, false); //makes a small square image
            bitmap = rotateImage(bitmap, 90);// must rotate camera image since app is in portrait
            imagePreview.setImageBitmap(bitmap);// the preview image so you can see what is sent to Mediapipe

            cameraImage.close();

            // pipe the bitmap into the MediaPipe
            if (!mediaPipeHasWork) {
                mediaPipeHasWork = true;
//                processor.onNewFrame(bitmap, System.currentTimeMillis()); // JNI DETECTED ERROR IN APPLICATION: GetStringUTFChars received NULL jstring
            }

        } catch (Exception e) {
            Log.e(TAG, "Exception copying image", e);
        }
    }

that code is triggered by arFragment.getArSceneView().getScene().addOnUpdateListener(this::onUpdateFrame); that's set up on onCreate()

The processor.onNewFrame() receives a small colored, square bitmap. Is there anything about this bitmap that's not correct ?

@sgowroji sgowroji self-assigned this Feb 23, 2021
@sgowroji sgowroji added the platform:android Issues with Android as Platform label Feb 23, 2021
@yizhongliu
Copy link

I have the same problem

@abiemann
Copy link
Author

in the code above, INPUT_SIZE is quite small. i.e. 300
Should it be bigger ? i.e. 480 ? is there a minimum ?

@sgowroji sgowroji added stat:awaiting googler Waiting for Google Engineer's Response type:support General questions labels Mar 4, 2021
@sgowroji sgowroji assigned eknight7 and unassigned sgowroji Mar 4, 2021
@eknight7
Copy link

Hi @abiemann what library/SDK are you using for getting the camera?

@eknight7 eknight7 added stat:awaiting response Waiting for user response and removed stat:awaiting googler Waiting for Google Engineer's Response labels Mar 25, 2021
@sgowroji
Copy link

Hi @abiemann Could you please give details mentioned in the above comment. Thanks!

@sgowroji
Copy link

We are closing this issue due to lack of activity.

@sgowroji sgowroji removed the stat:awaiting response Waiting for user response label Apr 29, 2021
@kboyarshinov
Copy link

@abiemann Make sure to set input stream for CPU via frameProcessor.setVideoInputStreamCpu("input_video") where input_video should be the name of the input stream for your graph. That property isn't passed in constructor of FrameProcessor, only the one for GPU is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform:android Issues with Android as Platform type:support General questions
Projects
None yet
Development

No branches or pull requests

5 participants